From 9d455b2bcad0933df2fa34754bce59a1c6c4da43 Mon Sep 17 00:00:00 2001 From: Chris Kalani Date: Tue, 23 Jul 2019 16:19:27 +0200 Subject: [PATCH 001/162] Adding Alex Towle to team page --- packages/website/public/images/team/alext.jpg | Bin 0 -> 159051 bytes packages/website/ts/pages/about/team.tsx | 5 +++++ 2 files changed, 5 insertions(+) create mode 100644 packages/website/public/images/team/alext.jpg diff --git a/packages/website/public/images/team/alext.jpg b/packages/website/public/images/team/alext.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b963e6b8cc5e36ed62e20f977746c0388a9a4ca9 GIT binary patch literal 159051 zcmbrlXH*kk_%#|7MX?|%AVpB=UFn^l1rU%Ry@Y^@ln_FsgcbreK)Q4dO=@T%3WNZm zhzJM>2%$&)tanA7;(0GqcaEdCq?Je$MgV<9~oFM*4>O z0G3lMfX62r;Ftn<2w?gD+5V@K|DRp3upEB}aGqoN$nxU{e@P9RyQ>R(aoMk(Ap8dkf4frd7Q!J-XpJF|I<_s(A$=#@v>i|~HGgoilyMOkY z*>ko#-q#i0B<7wIe(Hi* zXk=k&Wo=_?XYc&d#nsIn;^FIu@DB(K3V!!KJRD=uW-Ha>1XE_QJNH8{U2!mC$j%{z~26ULiWFb{olCAfQzSDPCnjgPJk|8Q$8~6 z+MSiH7y+KiL~iBXR}T*IOL{dpcUOGl!!qZ+%S#GMf0SF76csiu;qlc3SbBC2zj-W8 zQf;DVT#4Kqn&CvU=+O}gaj&W;a&IZJm+j30W|o-=eJ z&YM>F_Jr0&=AIisTMV<)wc*q?(%?FXG6MErUJ8+)ZjR*M4i3#PZcNf&>AN*%^Qvnm z=|X_`!8R_sx3b{p6DrDw5Z3kYlymPumQezVnpbp)@|jR+ zW5UFC<5JCt=^8I4um*Lt&8@K;EEDvRdsngg8I8{P8^F~Dy7r(!04zOhHZFS&Uy{M#~IgftgFcUtw;3|E?QZ7;@R|^%jC= z4z=s7CJ#9>5J%X*M#=AAV2jWc=Hdtn=*6_DtszF`iTl33SDRS{DyrK8iQyK`?HmBYJmiFPMOWJbODK6<MUD_ZK20v;@h63h z)%4pjLmM^1TIO5+co|6zo2cLeP&gVA)sYYg-KrefxKO3-{@yywz0`7KwY7Zxd#V&7ZuJSrn1C7XK%0%KKZFm9=_g&U~(=1fod<|;t z>p_xgXyg9ZDc(~}uu@}<6>23nUd&g)d}s^Zl~BX?@s_FbQ%rEQQGXqqyWfqXlcT+) z#wg>9C_n4bG6o@WA3ph5i+75Htwl6FU5fIGWOChrh7Nz4Ejd&QjlZnTV6z(~dtf|K15W0~~vOM?f8eS>4d`{=LeEZ*J z(mc%dtp-@Kjkk^xbrC3E7w1~D0`<)I7phGrE^+m{QhCEqD=dhd^N0)>~QIx6CAWn z{nhi3>TPUIHXEP^9A#r>6Anbsj#X0`i$ODXXy4nSM&azX;hjus0^HZ>owuk*?HE|E zPg;T~GLH2xAITnR1})ZY2KhZVigi({2?!X6R>Txd5P6#;9@XB8C2C#DR=N2mhHav7M@+y-?(a$9UBmee|6phUykl8YHtgR4 zcea3`SoAfKyIu&}$fuuqZ@qha*2hP^Q+ZE?L%8rFJ4Q_`MP8OW3BSak`T5$QA+@5& z!os0UV%aWkNBq|?Ibal_xpBJNOg&D)P_LEoLuduyOu)_7&Cn;MY>IMkU{tR!rPhHn zOh7M}ovo8gfIXrj6?F)*>LR=Y-y7MXd)d##;y=~34o@uHW3AJBO>y~r>ZYq`9pEKx zptf?abj{)Gj8TuBx(dmt&m^SbAoi|O8L%2+9+QGm6G_`nhSKm86px^hw?{V?{P#pu zKlJj=cPe}#K<-40x#X|U8a|1U&b<9r&GFR|Tbj)r&Sqg__B_z=ej(!e;r4v}!PehH zdjZ|(d|*mRi(wbqciZ#Jc;omonLG?mFdbkN_A3qS#U19>Hl|5yi`{sZ1goktm;;0J zKC6KAcoWTTwD;V(=yuy6O3kuN!@Ce@blGPsv$I50kZ`ods9M+js?Nn1jSuM@X_S@< z^f0p=*WXM|ndL9!7cbiL^0y9E9NMt8U({a_{5^Y1U%c|09}1U3+#HiKA}iBenxUf}!L=d8Gu9Td^F|fi zk`hl#a8llo+8#NtmrMKF*^z~TZd2f#I4$id2|Vi50JXdN;~1TDl!Ji`cv1Xz_^d1F zZ9vCd5KQ2YVUzgNQ0FF4I;oH^v2;@T`fN8p*_shhSQB`M@WsPy$DnoZ-Kb*c)OqFGuI-)C9WYkhReb+z)pUW_H(X<%_O1=m zdOMykn#c2BpLDmHLqkD&CfG(l;}S}Ep;6KE4~43#7qy;y!JL27+wg)16~}-9w;sV8 zJ1EQ!)H2Q}35zmm9SBCNW#I0wUwRth=92 zC^A%Aqm0k`%j%U9cGUr(O8iJu6lHC+gayc{C^uz14H58aLt1$cxu%N_Y04r9^G!~2 z5$Z(`HAYfI&u(rbnoVG3BP-vw0$$6xkhq6`bg5yI{H^t6?%ff%a`fUQCn;BJ=9x`Z zQhn0THjAO|m)RLue<+rilQaDl_&(D^PtMNXaFGu6!&4Vfos+mo@^+M;e=R)E9Ri=82w7 z@4>>30T=sTD|e$5MjYd0UnZdN+f3uTW6rYQxBkt%%RGcmt+R*V7xpz(fhGlevVQxd znjGQ5ET?fJDP0%Ds4Nmn7(+oPGjNx|?i{Cryt_WOi%8_Nei}?9vF^v(a0z-osuR8Z zE&ha1ac%7<>)3Eg){`4Sp=cs`JY+x9>ELm`Y8=;()caCO@@r=W($v&=ZzXZS+v~m6 zHQxt~Xo1t~tDE6FDgkTS4pJG>{eE~xvnkOSG9T(1I;cqJ=8LP|)3}2j{CA~xyw)&H z?Pev%^A4IL%t7R9Z%PJ!w}4qTFoM!N2DDO5Pl(x|Pu7N!>RPbUW=+iMeqTSwU*eR@ zQTk+$tmEu8Sc8YvU$}7hQ#JJkHk^Y$j@YdjZg3vBH5YA&AsX7#bq+Zqrvia$^$jJX zT}F#2r(OHuU@xRW2Zw-ODLvqRw1bIo>S!#Zv)Ax+$uZzgLuTIx$Vf`Qi5?y!pB@13 z@d{E8&YY=Z@bot#7qfX$RK-KW#Iml%Se>6i42JQxk9-pk4T$z za%=qSD?o*N*+bibPlj#NO{XAj1;ikoPSHc*o_uM2!{&g`luq#G;tVQvrR+xlL5GVw zMu4f@^GWiTM8exqM>W~`yJ{Uk>4oWtl&=RB3oH2Ts`NApq4DsEw8dO;A&N)2{=jL( ztEO(PuZM4=f{| zQwqW9W&chT#t#8YUZ$8?+ex`P_s;{;KAABKV-tuWI z-M6Q00tzBf^p63i+9qFj>PUuQk#a0joRFO`dt@Lv<@C*n580qPhhnk?Z*m&l~Ld5hmK#tSCmb}5+g-IHHXZsbROH1u~> z!H-$FAKwtqxKdZY-+JjRu%->AIln83NNFr^>)|=s@#DkkOIX~Tza`ellGJR%H$?3_ zX#TZd)$*2P^yfB8&)1jLL+d-hm3&v>TwiYA;GXq5PRPw8anw$g)G6yv2|#AwG>Yqy zprZ=$4Fk+(3vT)7w0dBz*m`K+trS)%?~nZMy&S?fSr!kPc$D)^DTmJgeBf!lWLe$5 z?inah$}D8WKkabC(bPA0^)PbFdtc=7x!reH*jZT&Y1#&!@yCFy(04JDe`}`xr659v zJ%*Wu8&K=#ktWsK#+F#Gio=>?fP8wJqp-bJkoO?^ogPDVxB)taq#vBnnh=%$!^sVrzAk6=1ac?Ir|i%>-ZV6r z{m??bCpRMB1h^fIpRVXP8y?4E#=J+0W>H)j%=OLrhJ^fTjs$zyc=ykAA||sGmGu|E z;$^B`8MH-bGG});*;DI;ZO|qmvTKcg$ACA^zf1H+G1sw`HY2^qfZ=p))t@}|UL}+L z-19wczt+EIw)+$$b*QQJi8nW*xD`jWlrjgByz9x^P`%+}Kmg)f8&L5*$(vvjvJdiI z510ylT{3kc`~nR$ne|#gQY55U12(NbJ<)t&sub@W?N^KoumeGZV9rYl9Ly~81)^pUAU3Ob}n*|m1~rp3-(S|j9y4a zDccxtYVrS=ooi10bw@m9Ch<+&IE$`h^HC}7w}&aG5LDA~+Z*gRzYMlh<^M5#cxXZr16Bg+{1(Di>)Ya)P$em1rew$Q_E?kr! zRSvDGv`4^=CA?h0Egb_&9!?=I>GTL{B1=+T`1yT=uiVXTs%0ag8Q2!3vT3?OV(I1H z0`0}d>`Dr_X8!qR_fp<0eyM_}yA!5~&^7gQ+7TPhna*M3r;Ka$^7TiJ^PlQ+7Ww9- zk({t_S9;SE^WJAn`CMUm5%zk;R1UHczDxZ*5wB1vMy)n7S*S}QxIja*G1DUq&3%@z zA76*P0o_F;}NKWs+p}ic@m7WKf}0s<78?G*2OQQJu|Pq^Jk}h{BPbjyKd2m$1$%k zc<^Rf%eWGQU@(i?gOv0*7D%ZS;dsG5cw`Y1-Z2xJa?~DHefb-rj1p-4lkiPXB}+Ah zwP&_NAyRMsRAMKiSD^5%i!&#HEbNvPoiyf$C3q`WNbC`_@dZMHh!BV{Xe3*NAKs?B z(U08HyCy}2v}KDJ;N38AU-}W?zz%$8c=kozwT7#NaH98;6@+I|jT(m~~lZ%~b4TuOgWveT99o)f_QLvbC$pW23t< zt}lN`zXksJ%j$E%O}uz9Hc2l;PF1Cp#wcl5fk+!8Ve2P9Qpw;-((F?sr%B+}$yre( zJ@N;f3#ucb5kO(A3vh6<5kDHp6ZZ?eTQ+*7)7fHwI(rz9NtN%Dtx@Oz(gCwL|80sk zQ*0B2B8Q4ob%g)iItILdFts*0_1g4#f{G1$bf4g$MP|rvs?=*$#VY`H-a|g+`KLd+ ztZ00e<6>hpY3Wg1(=e&~_e2CA)+0Jg!>2@SD;9*p= zXq$IuF8}DAGjKKI=E=!QjIw60TihXVnzuT8G?#Xorgjnr9D2l?ap2DzUnd)^f^`N` zv^UD9nPONMh#UyjhcPeMlaIw~Ut-=_S^lD=zcx5-f^>e7Sf0^G4k32FUjya+WXwH; z-*RKIQD;8_USp9mFB;0r7nKAa12~|12R6ea6#a_eUENDVxgRjrujb0muZtHr^XhG- zW&~qpj-~?)|0pp87HsO%di0mqfrM97iVgj2_FHb-3VZ1*SEc_JJ(ne>M$6xO5$(QG zKnReTHs5qoa&U1gt4jYdUW2cx+aA0d7-f~^1QnHY*XOMCo_SA7^2X;V63r*ZfpS}| z7AqSX)TkvPo8jtv0iIhb0b9wP0T6FrjTSfM;er^6ROi^37_|pRBa&V-dF5{(a&Eh( z;YvqRJ7sh7p|BlfS!bCxM7y_}s3RKpsrJQbeYPhwa~t2c(Ke27e0jyuVo>G{Be~ctRhRC3 z2OO00Il#sr@=aD`RR!bXHqE@epqj>)@E*^LUi`5>c83B@=dpeGe70Qn)vEDZnB2jB zkZg2$`sLvk5w8X@NmA0VLWT1U|{1$Uh zkT87=_^@|2f8{eiBZtEylyjA}*(Jxkj?mwO+0y%M)^~lFuc)EFFg;2JE=tiZsaK$? zP*r+ozJ1gsPx;E^TuXhLt0pnW>7B**71L?15)=2h*KDAG&t^M`@NjOW&J|)RWTlU( zZs}C($})<6l_E1Hdam0RxHu7OZVD^!ONAkBx~@@Mzb=xK=-k6;OScDp=18rmloV82ryviHy!wfgyoR4|}=m)Bd=?I+ZM@TUmWD7-5ir zi^}-9=MY9YrKVg5V>&}`2wo^?woU1saJc_$U&5{^uK(g=m2@YWQWf>*;mL@w;Z|`h-_;T zTK8Qil!!6nP=`g zl;aSnF{Y^3;z8dpd9vzOtj_IKZEE;|rUrxKj?rzFzg|BkU(ah!Z%j2g@h5~E;Vu~& zG3+QP>nQg<)xnMVftdt+TAC>;6-UGE1_|;`_PwoyoZ@sBm4_W`l)VcC?5~(HsL|xsLTCA zcSD}?H8w_Ibv}M;^NIaMF;M&Ht+M+W60s6&8PNECgrQ;x3#| z9c-Jv^Ubi{l#ZQHMk&sK{Squ=GFLc||&orG7a?`HZWuI0R6&(;2= zC3{Xdl$-86R(MLk)&~GMg#ro1p}3#_kgK`bAOn_^Sk5YZNnny`H1#4VW5H0>e|)@r zGoUeT9|7K0cltoqDap0%^JyuHhO7F;wxtKJKJ1IhkY`W9!kX}YhX>XMekPgD=zKI$4@FsnMOeQ9!eL|6mGyhn*~r`9(`px#yoc zv{W6MCDh$K7HSdlcn4ZcpAfwy#KWTq=#5Fdq2TPx@@rY0zSwe-EB;QiEE8wz5tjzb zTGya977v9>(?l&zR12%qqLlWI0pNtZkP9nEhQb4RNN=qe_9~Pxn?n~&9a_cmJg zv@p`!5@5;wZ;edksK<8wzzLhT_O{IMT1~I7$3V9UPK}!+-}$nzxAm@daHMEArFl77 z!txZBaHG%3l;&i<_C(or)*_WGiFfIjqpr+d{b|J5Umk|F5#>gfw*T%1v>yYitP{@W zD$k~(l_vk5eWZC_{M%_E2mh^^kO{Ze8+O!Dl1by$SyTTF;z4hCTq%9Os(#%bt2&>2 zkRY%s{-e7(&a>34sF3Yf#SnU7YhmO-xn3Z?aU6{d3e9S^ z3?Z(bZgJFEIWw@RmYNSiVU1S%pN3jAd`u`{>myTq_E97Ehxr4$;)*gi?fo0?e+R%ELZXBC>ofP= zw6#qFYxfe{)osdN;$h=XO-wlP&wReBq5U2s4|H%0D9hmqoa%wolGL_uG_*s`x3jON z-dIfj)pEcF?^Tom>%u*t5M5+9RQsSQU~F@~r?%bH7$@Frk^|jUg$wtEC{6}#UV0&Y z&Sq(=-LL(us@Jp2Kn{UbX0JL%AA^4tiw!RyMlDS31m~=$DE&p7<1@z54HJ<9tn~mVYRy<&Pk=@Fb_koJ@O$} zDuKS8zZCcI-*VREVHj{^3LiC{;JR_!>`@Tgt6hT=ZBC7bK4h6q`7){2VT}&3Zmb#Z z?xe$X*3l^i?rIdg;X?`?8T_rTHX^vHxrto@~JIhzLzO zhdn}z5SNzTbTdb*o9{J8Q!VJlH=Qo*Hni!F_x`Tj2MGA)^nVRZsF=KlHcy$VtJq(x zK~uWFXeq18K|!GT=0Y6i6QN0H=s>7+)Pv8yQ;6JTmtPaoCb%5&c>h`EOn|nj@>*TI z)uw%7NyN4Tr9L8Ri{w@smYuFCX^AmWKFMgDP+MXChY5P`TK9(QT*N83Y*5tGhF2QT zp4Xo_t*)!;*l;LKyBDM*Ry{Ury*%=CG_3U?zTWnONt^y+&4fM7ZT8zj4r>!jN3qB7 z9yP`lb?rVRuCe}eIaXfT?hY(D%oV%eaq;cg#{nfQpSqxf7x*>qV@FpJw^358xVeIN zii@Z_CCpA0DNEV!tNv9Roc%nww$7$7BHG$7H^?%j+DK|(8&u^p>Q_H_sJ2oOv(ne1 zVkQ@(=rE4kGwLgQ%&qrUB&s0E9h)s7^Y4SA^lQS%H6!Q8TsFTGy??lQ=am*0xBJh= z7G5YLI!Q$q&r00{o>t8ABb)qeJkmpEFvG&uA6O2F$Wcp_|o z)|mck3v6Q8-}rW=h!!|^ngmD(Pb8eigQJ!dsr(=@`A0a-$A z?>{DMY8oCa8oyCg^71N3GsyZbB=HfKxj2H8=xOJ)Hme%22UAn+D8u7ReXiMTrz4A| z&+x^3)^Rt`XEIOJ${FI~;5zTXk)$l6T+8OAobox@;cGr7~6a^%u9dTiPqZ`Q6HB@{G$cCFdNF7a${uRiJr zWAV{OX?I*wT@wqN_95Yubqb{quNHWIi1akRzMy`e6r195t{oz3-Kp7Tylb^gX@*s! zKE_(<7-|j@Va-*`ZG{0SK`dx_@F$pkVc=}zV1sd?!UC1dR}_1zH}@ri-**d%62)TW zW#rDsn`v}97kp9qRvV$04oSloYJ_ggO0MZi8laglk*uYL;YN*2#ES*B_AL2OIg&?b z@j~Xbv>lY7g5J#vpTibGvU!F?B4FaCYluM4VT(zqCVvdX&a1HT8%eJr*@3d)iyzOt zmu0>&HVUDKshQonm(f1*y(yuu#)XC6;jJI^I5?ZL*Dl%}|as^*)%~Nj^p@e;)`c8k4)rNED z?PEFTG@ALK-!4}c-fs56*B&2s+wY10-AR2RF^0c~I7uWHO>?gNo8}GCDz!0EX&h=I z1s}n=B64jw#Ul&Pm=L?nV1`OqV*M=Y>aw@fHMxx}H=CMd0|;iQ0uL>VLz>2P9rdOK zzJJ-2Tl`3`_si;c-rSn^t!^0mbh*cz?dg#?d%s(x5OSS1Wwu|FVl0ZpHS}?@dzUFo zU?q!@eWeVT$T2`LN=O^zFxpgP^EAnz`Z@ASZQZB)o(su5wNY@nhLLcrnKxV{_hFM+ zY{n2<3D6gNu06Pb1h?K8qK}}EkoDaI;8n>w3GwU0F>Y9FsUfU!2lB^^gbZz(I?pY;+z)oI{ntI{1!S<=u^%i?ujT4(#y(7&d zBUmYek!Q3IcCrp^whuITXEj&2iSx;SXJNUhrz{%qGT9%GH!Q5{aG2+rxIx;u^c;Ty zY|Q9>t~FraLpywD{mcFN=ZLm_^ABKg77L$B#_oT8Io7F9M2!?M5^8Hdu+t6v0cJ4I z4GN~07Rue=%O2RJ5IZU5IFKV#Jr`~5Yl6)P0L!3qaiM?skUK(;Bc@0W_@kk3D*hJZ zQ83S0BH{IJzkT=Z3%=_QZ#ju(oQnmjeALy8K&n40Hfb*n*X!(^h=xG^7Jh@rNMT=(I1;LC?m z&aqj4HLE@biN9fHd)v=s?v$>_-dZ#@_Sx?yl3+G{zP&%6X@@_yMEebfc2^qp;c-wW z({zg;)lPhR1%V^RJpK{l(VH&5cNk}^QaEcjrxPhFIN$3FE}zP!e_Eu9(QdkN=ettD z*Px|q^Zxs~us3BAMhe^Dq~VeJqXs-us4V;P&i3T5jba7{eeMf-NZ2>rT8PNNhZP4SNga6LBb7a)|XREpoF_fUfcM za#h#wk%z2jynH~ZtiBxr(>Koq?aYRsyo=P`_bJO`1I=;-8>mU}%})|m7_&a>4SynW z91jOC2~`qW8B*JAVO|&Ak{~HrGa+p+&BFg>=bzR>u7h4>8%DGYr@HHDq`Cwd;*qlH zMfE{v1MDmAaK1}TJ<(d~?KcJ%k)DULofexx3BbF z50C7;^HTa+(%p^`ag1r-?7}o%D#~zkE?~$BDGT>P3+`b&43(BPgGZ@01ihUlkG}^7 z{cbCa8J^1ac<1NmC(eI&h&`C7?GQYoC2(c`DFk}^ME4gQ>cI1YLv6IspMrYJ>_kA<oP}Eus6L2l_pq~&zgIK z*an?gILaWvE}y5M4Xg7SHcqUzjQw~y4l`R7_-xbNt=?FZbZbK&$H@Z_K;dsVS^$zh%%S`di ziKdmffh+o6J2iV|Vx*D;vL^@8VVZ)DqWj9Sd=7-l0S3%#`55q#d3DDbn6BTfdhgNN zjTxEJ(jawm-C_q&+j}XL$&q5VS5A{?Bk-V9o6?3tjsg4*D<00EGFJuyN!3H*p+Ui3 zjipsqKwEpIOyG>44*D383LMaq6&w=X9G`xvlu)w95bZ(Qb@W&p+L%Gwb5z{p z+VRnaJ(bM#(B??}P2Gn-Mp7Jtl!yyd{jL3kBpud3M{U7n8nFHY=T`a{dnU`=vx~IT zMJSY7Pe|JRCAwMGjZwV0AqBP7JiB`{b*zX2JQy}4)SS!)-%m;dV5+U;M`XmORP59f zZ^1Tj!?UxpgE{cfp$#tDeSOs=JkE^-!qaGLbwBC7i*AL)QAh^2ZB z8QLrSIQw3mO)??kraG_MEuY|3r%O4`C6hUs+dy*}klc+u{vbKK6qu)BCs33I%ih^UDKDTYU zTwsKvsd&OV>0vhx5fk)folVB~EloS}#(n^SppGt2-e1zB_qcvyO=AnjYF zeG&eMaA$@3ArIgDf#x~kkwU(HNLtcOQ+Uj@>u((lclVKlILe)el#Q(78!xGE42{b& z!`A;E#vdk!AWB8rp31e2O40j;IU27wb+vyM&h*ax+gsuu+o$^yq zI^n;hA@ku2uk#cXNQx?Fed9GUL!HH%PH{O(-;L*nrd{8(3A<(uQ9g7JmWsS%ZVUo9 zH8RHuyF!lxohK&i<*jT{*XWhG-r*H1tj6Z$iF+i-50M_(EC9X_C zZFu4?*lsA|-#cg$XTw1#e5qKi7zY)ZKHoE{e+aMmHtuAM{k-w{GH_L`)X3hfN;;gD!nl~2#XLBvKyM7OomuY zyKk6qkDuAt8m2lQ1EPHEG2~4#&?l^0b^H;XPmM9~2q63+)!FcKG9Y~|ORdw%iVLEG z+VZm?!m^`REnYf#O!PUrh&2u#U=I{BBi61Jqxm#njxu3R)dAPv$+)MNx}U$#%$E+42gL*m7@@D=$t z9k)k4`>a>lUMmZopGT*X1L1brwx0H@TBc=VdaMvHXS}Mp7+R25cIm2^kZT<%&PWTG zr^(OrcyR0x{dU&3;Y-q-p)y31QA(nXbtRRV10AaKjh2D;8ZtA6_eUFd(UnyFgw$!( zszucpMOYPqU>J*hA78%q(7*e(n%xVxQ_3MVaExu2{y?&gdROFGgiVC14p*bW;i zT~sMY8c1JCB6p7zp%o2&W~&TVGctXa@{3s`ag}bx&d17138tX*?Mp5 zs^$}G2hl6#H{^l@`WUC(iyfb#Y$peR>r%(_z2@TUaE9gd^-GEtJSt>BV;yqQwKk6O zv@UyAnO8g>sa8?pb50 z>8m4z$oDB$Qr?Y&FS3RXhbkJc4R4RFd_zo&^Hpxf%62iOJqCu>=tYZA0gi+ay~%D6 znCC~DqrnH+%})jUCSyKW^pCA|Jy&_>)ae+DwX1gGW-?~lbDrkvdAZr%$$%0Un8i#CGAy=)4Xa1~_Xu4UN@tQaYm#}_}Fh0l0Al2|@) zUjc+4h+4i5$A?u>K8v_LBAjvP>X)ueD&huSQm;YdceAr08#RkPsIh^cW+h>e3zGXK zhH^HjtJ_w4^GMT3U3cwZlI_t*)^w!VyVms`pXELvGSIo6 z((MhDmv7vvSWv?SXaT)1=y)=+jCOKums5^{f)f0Fs`;3E31 zz3q;%P4iHGV_oyxAN+<^a?{B7i9ht^p4&x^9s`2gmRX+(v!pHmaOIMER`T55$E-{v z25l&^X)o=M+S<+ho0*r*uY`>QKHW-TK&vxmfhXmi^|DQjUdq3t#3_!*qdO#Jepv&H z{sv8$+oj%ol`L)SVRj=lu&Q@}j7qJz1*M-z1o(zqj@`cJq7Gg=T(pM9=BlGidaQuG zmhiw%O^I;?TyJq*u`mJ?htB^HE|sDj;|nQB3e6BL8~MGFAh46%?kKYQFwkE9(gL>| zFiCCm(7=jVUtLT3Ic1WrI-(#IT>vA?yauMfIQ|__CFx3eDOJv}3r)<3Av^h8T z6=QE_7p|;^Yqgbl{3+x1i92s>JC)Xg%vA(#$=`nQljwZ^geYW~t7jnPjNd)2nKzF(Q3gDq1XW?I41AMU2dsYT#}NvY?G4YJzw zh1l0fH9d5~!|%F~=GS~Yky!C&l2-BZ7yj*^02j$L*1KA<7u{~^+4cN)Tdbo`J`ncb}#?3H{F4zV1ToG|gT9|!e; zkvab@=3F>1D4dt7`RxVE9{cU&-s#kE|C!IZ4sk4s>te>u@Gtqi>iQ$0%tn`r%I3|I zxygH$QkEtK_$rfadub=r6A$i9&%x!LT-~=?u4!0B5VpEBg2z?2Vg2lSt^cp(;Ei@@ zvsedGW33?BqG%wA5ztuE3^(u{{Qc@_Nu-sAvfsWm1a4}=L6YYRK@1@{E*g7_wifu1 zSw9%uezyA`%k=X8G}qRr(s)0IQj_+D?mT;4CfvViIZel645NHwty2?RU6Hy4QFY0q zIs+U@(cu(LDdSV}>yT$0fe_&;5QkKuO#z&)pAw@(fF+&@zyN5bj-F zC6&09Y;?st_F4ekV3uOFwxMIJwDl>#4W&BKvk^e40&OlKLgjay1koV#jLxyLhK9h~ zE1wq>-|F^CGkqJ%I4;WT)~$@Y6Kb+TgF_k`#?C7E6zBgY9|PXG74EA-KMP*j!3jmW zf^{?#`EQLj0zne~uUk(F_r2p$i|b1qoEG1w9R+=?V<4K%m0ODg=v7gUe9HWzl zMhhx7z=ui$y|f01(DiG!)`k@?QpMO`TEqKpeho{1VnbKck;0hABvi+kfQuNFpxIex9$iFSw@#GieH~%2F@qh zZ#oSZRe!yj8FUqfcO^ER%#8m6a`+2Lo8w}8{1U>?XX|s%T@WZ?P11Oi0PMhq8t2fQ z?A}is`l=R1Gl-xbS$V=7YUo^-VpZx?jU&3b*<#Jq=3^j_MSZRGt!U#2nf<$`ncAp& z4$O0>Oj3tc7fmYJ_f<-Uze#cD0%<6isQh=E-eURw1p{fPN;|Q!abunyLISdsCvVl{ zwz_BE+>w{BeRYqXt?`Nt>*Lx0GDzOG8c4E9swpe8Z`@#Rk73>=%@Zf~Ahbh=-Kr^@ z1m&IB7Ae9|!%MP4DfHjkfbC9tkO0 z&(9Vn@2ZTL$PNw{2%JzSWfzpjsCyFMhe%?{`DyYnTl|)-@V^78X<;)J%hM#@32}| z?u;O`sji|9`J3#Q{io;i-_hUnm}u22N%|7UMR%x7Yt!X#^Q01{o=;g#>gHn6__j9g z$szVYc{1*v5>ir_-SUz7UEHl#Dz7^(5n^9%Z7C0#^72`~51ycdteSdmUM(m!R7K7c ztQYo!a`=z_=w20GZNoGE64GAYGwQtYV8S`^{ce4L;1};~MJL&xYQrU#DbMAs_&xEv z6@5W;Ipm}DgPn*Qa;$QzPT_MG-jF#pL)tX@Tu05(5)Z`(sGEVexNfC(9^cLt5;f#{~ zXLn6Ow(iAWwijui?%n$|C24awm13!#QqsP*;~@zZMU@yV&#;$v75~`!P=Uy}!-^E&7yJ2rwZ#HXvQk9`oDofp4K+Rc&#|c6V4UvZGqGdDI`1(Q$ zZ3OYJ`Fe<+^3msf2;a@N_|MMIJ^IHyG-lE+aN);)+s17a4u(zH&f>BvNisPvT@Cpj z8%{J>idt93sjZb5c}Vs>ruVDnp_GHOf4jG*IzhV2^GN|g5dVs;u$7LAKxk_-M*$&& zfz`?u9Z>qj#6&t}PpyrZ#{i?8>jwQgVTsq<&$b~yxg;A0<{6%U*wk)RcA|6_pTfS2b|dMl^9HIJKV?b~(R z_$}Uwsi9mF9u&we`(Q%-_uX!YuRs0z$KT?~-Fj=TkDmW2we&76wK5}`y?eS1Lo{Zj zxNHkpw31AWlv4AU5X0^)uo6~;L};u?`}=DZ-comT3u5LGkaGoosVM#WJyg8$C4}FH zirny42R)if&Y5YD{uUvyR^z>m#SPvhF1dVDSY*L82b{fc^e|Q42Vy7Lvr>m;m%=iMs?n>Mk?wV4jg$a0+fv^u{x$oC~zfajT8E@G@my1!nv3+v5SUtjSDdWEb z+OBCQJ*ATy?Pev@ht=#cvmU&$szV^u`Bx8P^WJ1IOk_#DUb&++A2NxDJ=F;hMMf)L zI9*31tNd*))?n{olRJUucC={&OHi?0_}J|u-)&xe$>WOE*4A(_aP2<={;qp5$BX7t zgU0iOoE!4Dam*Z-z+J6+Bxm%#+(1>kzZ@y!YTM5d_gbj?D_ZXiK!tN%{Q)dHxF~)) zh;NTyFP75GRLumet;@~E@XU(36#M;dCse1~hQLX(oC1?7mu}mMWwW*-)A~Jw`&M78 zvX?b}EDFb2kN7x%93m={AxlJ`%0kiF+0dMmC)OSuMWCQEYoKvq|+iuV2;0NH})75jD^S%1f2Gm>H>oKC?MPVg$n3U@}FSu|7Ig zqb3}d)@;2Py4wsL=!0V)`C_qh$?VC8gG(hfVTWCz5=F=UwWz;cD|>9>Vt9%A0m7SF zUeu+eB;QD??#I@wHI+?S3TG#IVuw2W%tV&(vuIqJsU`MkPmmFMd*do15lRXq(l4~3B|Y?*cb z|DzLJyqdH7-lB+1f5q{5S5%ovFa8Ezq zFDTn~ckg?r73xKj^iT%+rt7Xt_>Q4L!7o0#6y+q#*8G)!vZ5_{oE0*_S#tT&0fPsj zM~ivc5QTRt{m7Yfmv2>+Je2j4govCzV}o-`M!Vih`h02yV<^E#Q#1$z00NP*do_KH zB9;`bdeK8%Czjv^Rax~?|Unm{7l zJq>1p&4h8_XBAD}byiw8e;ko!RmXA`Nk%7Q3X<6DEpL2?pg_fiw_t z7mBF%2~0wk{GBE^ukh=$$hd3is=O|Mr0V*f#qQ-2<9k#}<{NMQiXB%Q+%$C2SadOk zo=JIUbLM|gFe2?*!hq7NCk?fAS;Z3WDdA68vJ(b^sY0q0g|U-{(xIls>NTK`{nS5qX8#^O|GFSbDu}Kl);Fh7-R&8YcR6Kn zCz_W-ZYp&%gn#b(w}WPDFO@HC?km$%=?pPV`Dybz$ z+`tHs+r#@Jcu#s{*eL|{xIJm=g`PV)ru0qwlS&;;7rP|1oS%v8RLuf5HnXE3cS5}Z zbo$aj;^U@<=|WicVkol%(goT73_bHIjP$rJT^I?t?D*dK_%YI7bN@uR^V5H--+!R= z&%2JblHbr)DZ9A6T}au&VkC*~Uox|5V>RwweXghG={>V+d+(Z} z)AQ@DBq5|J2JOO9Pq7S z*ycj$15ucoMX@{H@=j`7lR=NdK@dB_RJ2A9QWdSAe<)I3bOH;>^=sVwBk*w9NNPJ~ zvL&Q1G*-#P+fUlNL$*@x>xn*GSbM2Crz22ou(_Ua!ETf?gySyjkCj?&2N{??U0PU^ zH(_WjyseH~Q-QgQfoje+%5EzGkj#_T{cjKb$wenClVaA_1UW z;P9XLZ44unQZgRiV^Yk?An))7_KYo(^#2H4U~gN2B%O*@10rPj5E;WZm%V&d9~;$Jg|L@cdA@&T*?OB5P<&+bUxh_B>jn@+x2PWK#i|vg%NZ-qj?PP^`*pQZM}x@P=ld3H-S*_kv@l449OiTJJp` z!#WcK_-Kh!RJ8ZMaS%Zn;!_RgG`{0*;neC9$k~O$V=*jR;b zMfEB_K%cyy2~qLQbbC<2*ANbR-6n?zYPhHP9>M3_QqL`kFMZqMWMZfy96W?au; zrSf7EHgVk&#icA|&^4L;urbJzm!%@d8K-8q>2DzsIm|nAv6;k20|x)+u36mgeAdY2 zS5*f|=je+QyBoUr;_uTLw=%rxNzAg7ZGNy~5I)Y%suMO>Ud z;7hdM4GuN7{T9D7F0fsd@0h^-#O@Skd{CS^2PwI0BP4%qcXC%rw%xSkLK3GyLwc&7 z%?$0=hi)4RNofAi3o1KWhp1}GEEtb=*)4bx6}H_xPKF>FAbW1oI#u62ES6eLL$9{{ zM(ppVxlTWN@GLhC1jH90_iN-H$gr+ofkm_AAoc^5xpZzlj zDc4q$0(=~91M8=X`(|d9PxP7IJARcC-ly4b_P2u15V1OB=^(1* zb1tHtuOW`Oo2|sYMLS|;Y>!npv5t+MvXb}X82_m5R{zwQSZ{eCN!mZ_m6)9dW%frO z{1LbmYhyv#p&-)QA(?j4q@r3$0q0`J?&tGTn-!beI_C-80Jf&jM72~4J zo1^cm8;%-=o4?9QbEx-+=eY6v4-ETi3>5ZMMi(2eR5vzMj~T4K`exQUP$ZiiFN;{* zUD5clawPS!AE-^XkIEX;b2@Z@r4mvzdXT78YDp2Z2&}V9 zvPFgtImu>|sr$I_%+$m4`yhIb87-K50(OB>`cv34SNR9)im7M%bBg;s4k0^?z z|F3iBJo5|FHOi;WCjALo)ozMafn+aY`bles(-zh#1ckdsuCC!|BdC!hTV*jcmLh43 zNfm|~Mfbhil<*fitpq{1EhV3BAu*117M_qN(jI_Chi9tEZ`l9ief`lDxN3E+HtCMM zrAVA^NvYh4Hr0xYGk*5Z2GfnnvEf=nJSN(_D6M4txUS2+-p8dH`MCp0=yDelA$x7} z%s*QXSA||8hsV58TcYRPoS5aK%sB@mPqbI5%RF%zaWyXq9H;k=oUP+OK;5(WC>=@4 z^ew^M;@L;%ORJtQN1q;_YtD$g*(#^CgjWDYt0}EJXR8*=+2olhwBo$&{IeA;ovRX3 zR;K}E-+Dnl9i0bhIp0;(F`;9ib-{76zB0{eXr>nGo9i^s53+g8*Q+eL9#lWC(tVJy z;I8DNcs!{puqctc3cGostoS2q#JO-}iH=5Gg1pl*VVYfhWo(XD$M`Tna%lBr|K2F@qh z(k5L40`nkd68EC_@~mG6Sf>|Gp;EM`6a5{k8&haBno;eis=Y&|-^YS@~- zXh<62ShT3mh~$b~z_L1q9iqIIa7l7Yj52xM9^HEkO)oVi{Z>C#<9gm9r^ZfHSp-Qn z3tnFTBcNU*d2MBrMM^RND1*oMLNd|bJSKjKId%x(l3RFPjI<_MJ}9KWsv0JaqOzRbuDW!&7uuxX@9k_p6PEW zyss5|sqd*rsByAHXC*Mlw2EMog)lzva>i(LHv2aV+dK~rWquM@RV%D&47>4gX?fan z{n?!3gNg;0MZ^hA9i*PHJdY1b5oRW3Xr&VzkN`8#!E9H^0Ap`+c=qY`80cS6I9oElXc~pJRbB`I+w!0mgGJ!uE^lgyQ*XL z8SQEBzV#YyxTB{PRQw24B-4E&vGilu+pZRW#l^!@*=BX%#m1CNSo?K7D5?VjXQZ zJ{RKZGN=t90IY-yahZZN2E;y>N(INfUn!sbk*W2Tvo^Jzx@^q2HB!!OFJBmNrL_DS zX8hYKifEwT6@T`|x!g~ha!S0p`N_hQQE3XvP}eU1V?r)7&^6Jo(W}pWO*FZU+ER`} zTOos{4`ruM`P@!&8N$nMaihc zqi?G$9R?g0CQulB_X_@9yys2>@~_*9oh#xZb}w%;h#J2#Hx-#%AQqcWQKb)V#G=GlOXe zo;mb@BMgwe5@m_x+&3A8*+s^KEpga?JC_if-7C|}Hd1;&bB zW#O`nWha(=X~-5vqra1>BiB{!>OaOs{T5c#>3b2=;6OlmX|AN%L+7!h;4zEhdVH3B zUc`sO7~I4QZd)7Ng-<}-VH@ zs(#C2?uFfdYeP_yhv*QjdL(2WxIZ%#b#_> z;@>!C#&2P~FV9nmrh=? z-zLnoP0Y09s{4Z z=(5m6_WN!T@w>lvY}RcXDXYo60(5&&aF28aQr2${vv6u9@XnxAXQS|pdYfm}kEgl| zx;M+nuICdi*t-}qxE*aJIB&xvxDaB95m5*FyvT#56{_XXa)pWv*$H`lx^vDxzB}&L zZ~p6SzjmvB!E<_-q4)wL#To%%G&ZbE5KV}Z_T;1%8=G`o9kz&A29MUGAlW>l-zy@O zA~j7TGt8U^E@b*&2`_)j;|=}@sOH9`#{Go4%Sery1ghv}a0dG4*Qnevw@+=J>dir# z+E7FCjl(|z>%N~SQcsx#DY4A|t;~2W@ZXod&g1ugx&Jp&yJ{efmbV{ZSZHLLJ?Eka z##W+x)t0eEAsl@DVhBZR(LGn{?B{bPFFH?E>Sv^O)#RRSdE!}DnJaPP>6KA;>`*o* zKgavP(t8FwNLb1xkYW}~7wH}SR!5j4o$KIMv0B^4JOBRGcPuEy)Jkk}6W{G7WOXLR z4_R$*I9LO80p&-^u+T|K^O(hcRy5tg%5BjuW z&bpanLc*>_`^ZQmme%Gnh7)zDFWe>H$xImNn2(h|h|24;l9VK^4UQJdsK?uW{ONo? z?d7Iq_|ddSib4_n>_m+-QpgJIt1<0ZJSlGZ;YeB4eyd z7)31pK|FBM@vX^FUI|hFa<*=#cT^xkGMxLdCnoDkPNra<-L#w(P$g;%xDY_^9=9MI zr#fK3c)8t!_SZ4L*g|h7+9uc!#uP=FZ}`jRT&X}nN=cL0Wc@iirMuK2dH?-WbgM{$ zKe=}nje3?BQM0V%f|ku+=-b`fE%?+ZOJ{!T2{;G6{vLSg#Wn)okehOwp4xJ1KUN;E ztOAI9Slec==7CTei82mcbLp!+>`V6X2^c~zaK|hg`PaY%BgyT`)d{up2HEx$ruo-8 zkecem^C`*3ysF!@#)7MgpUQ8Sq-WenXQs{g(K0hTAiYZ+Pvu3p=o)e~CvPd+)$QfF zIiJ&LJ>PgIl)HX>sL&M za2d0ow(k7(DgF6P8Kjkgn&t*UePnzBtpXmKh3$Cr)r}jM^78OJS2~ns{Bcg|^q~x_ z>GZfgmFp)B8f7}XFcFwNad)e|>BT=VdS}q(;Rj`9t_m*lkxEcFuA-)D37S>z*uesG z!04T^A-O59DC+}Ug9pBH;CfR-MxNG{hSz>!y=H&^t+TbHG}z*0?9ec*&dw1cgas_G50)2Z(6rMn+b_~#h>&JA83 zcIaPW&Ln04qVl;M%U{O$S|bkI3{Ab`nUJBV4Ie7?ktrEmTkZ`5UepKwv#y*UfL$Lx>{O^I{QmFR#^+=(X)p^&AwT0k0w+vz-!y+68*M#6of)`6&K|nUrVWD2N zAU10?zJ2fb08XN%%qXh_N{5N$g@%XvNiMW4=%XTmUpm6#P!~_iRu8I7WGlS~Il8L% z9XYk{kQ}%(uGHUqb1;}CK`pa1=+7|WfeAwc88|A9r5uC)F^qN)Qa<*u>|O;my*Mqo zqOM4_e4j$YZW`Slyy}mD=xpqf&xk%mMJuWRttuKiZhO3c zpr@Wx+Oe!~WBQC-4=*%oYmC!`G6ujIuuafF*N83OwIS{2Z9CKNt+X3}zm;{-*=Jzmg*>vVQbK7e!<4 zrcNU)NEZiL*T0dIF@4&vK&5`MvM2)(NwVy`9hk-}9iczOO2FL^W1S6#lRbgW&Z*5Y z(gVu)jbsborwyo^aDS`_XJDn{uWF=(lF6O<`iPw>AFXGn6TMROZ%%p32HdbM$0!og z(I;EwgnM`pE0ls0L&3W~e8V!eNjR9+K;GACK*I@XVw?xU^vfQ& z8;bc@;xeC!WDlFnn68@nyPtKsR&dc&+8nuMZ!ep}P%}d_LmikNrS7DyvPQ54*`xz1 zEVdaz3eL30cf~5LHb|bY7S)5(uqrz=Ulg0>$Wg}SGp0vRYMu@yG~_OTdd+j%>K;lm z+=F?0;TD6+j@XeU&vOpP_CcfW}eXF_~r$= zp33s-oz^L*Gd^5vBFFybcHH8cz zkX`TlqcIQPdM}UP5OoV0xtA-deCgR|3BDMyH*ea5m_atV)#WSY`ZNN%*vzfG5WyfFFNgbA+AkmhMwLh8@=f<3Ts zfwX1g=T^$57^bkexdFW<4aBPRMo}dG2*lUT5XZ$0RXRdLmdn|!P{x=_pFF>|jNT&Y zo7P?enJ+8t5J+jaYJx+3;nP71s3{2G1}^!Qx=OP_SdGG`kM0Ll;k6O=esVi%R}-Bx zut0}JZc>Q99HYLQfB`{4auVwia@b|B*m%=JFUof09_UWnyo1rsOYGP!c@z+Fi3<4i+v zUUo!~Hpi`G3+lgfbtZG-K*;UlyaTvscp-$h=Eg7(w1Kj9jQGnnR#e-7zM_wc5f^`?;N?RReTL zxY7cHUS2ouDIT@6Q&9?a1M0V%;qtVr`-^_X2yN%nT)?xwG!U48%hPAgzx%R9!ZDHw zsDh}p2g8;B?9Qsh+cj zyPZw*X)o)6E!? zFEybi4#fGONV{)~N`~i7$3n#}0EKaASb#>`%&ld2*%1F3rkOO^?5K55#_hN7yPr+J z&Cqexn3lkhP1@AAD;Nw`ox^Xq)p>DZsZK8tO;@Kww3dtJ#`<8ZuF{tcr#WQ-9#}Ap z5n*!CLVD!RAMiSwCKfzJYJDcv`C@2A6=58Zk|xZUdt*R_VsI^Ax}rX!wzF}iQ%6$* zS_FBEoap}PnG<)QcUCr8S)Mk`+4wMY0$hFy;+V{AFsgL^PAVpq}fmSl9qxspuI zL=lcy&mocWc7qMOzC~b$%f&z4Gd;EWof9s3uo9aW%{}Qp9$z5m6v%uykKP!nUO%gX zJyB>Xm}PpA+ABbr z3cI{#gUQ`AHg4|ZTcXNEz1jS{p2r9bcW4Ev9yBog(yH}uUGCT0w{C9BCg&!t9Uq^k zCmdjI_B~ZD&%Nq_IIY24rdy=;-btz|rF&>w_H-`LBb$`QHjJ)r&zJcQhA`LmMw~ue zToZkombCU)yKl(V#TB=6t6hth*pmuYUI+fz8fx9fi0bLgvqjdCmCk)R4~Sz;tU<1^ zS5v$e829OE2KWAd2R31d{y{vxAe-8_OyQZCXK zVJ+=(sf5PKoU3LGIqh>$XoDtaUm!Ptpm*AEuy)w{I{o%>!mp)<9N#vB66cMqyGr}T>ddt zHIrngrl9$piy0f(iYW+R_u{v-u3~_zo|p@=olnA+8MmI>&UhV{T?rW8UGIs3rZo$h zRwb!;b*V-4c;mO2Yn+&jPru7;ocWfK24n_;hK0D6E^y-I9B@vn(-)rU>7Fuxp_89W47>XKUa6K#{>UANpbGFLI? zCco_$^UopO_?%4tGU7y$`=z<6-zbT%-`*IK1M-LWmDUpK{w}pik{9g}ZymXjL))GA zw=aob3bzRB)dEf=Zsm7wff1BE8jmkl`wMp{Sp}R|x9si?msh`K7(Oe`?U;AX@Rfm~ zT&Lij+0`KcCAdeS)h?MgKiwG^)!{_y_u1RuoX1TDF9Yp{yb=a9Ls4epZ4bqDoxvc*V?U>@)M<_W!t2*J?L=v)Q9?V9^4y!6h3ttfC5F z#q)2F*Ua0@keF{Eo0B?MLUg1iU38nO(WXIh_Q>jiJ#0+m9|1^st$9_b1wT(Z!e1@l zAk6*4CxZlubAorzhJMibb}Y5_3SudI6W=pGsrD|fa3E+gQqC(<2{&7u%k9p~CxwQ_ zrdnC=#=g{8Wd6L7&Cq=`?(#|X9!K}udHTvc^(cMlZfk2$tKr2FMD_m{q`fnMn*-MR zJh!&6JB{`5Eh+R^6%JpzZ%kW$WOYUQ&c(8y|0A2f2(*j{D6n02CAwvsow0Au3a+A5 zWbPk3aGiahT&CA&%Hpt5p^NqF3o*3e!{KbdjL#-VNgs9qN6HW%&z}14O1|D6eW3lF zLYvao#|W(U@)m@E3&V+`%E967oP*fklGibZBfEapWzHiE7bQrXwAuQtq8GZHf4C(l z@a})Lq%)(2q<^F6`*>!_^nocN9h^Yi~Rn!4x9;!%9Z=x>CE#|Rav7m|2zNf46&)8 zc3nGe5h!GnVZStf6GP}y^%5y5q|8w0kvmQ$sjO{n<-D?I3PYtj9c2I~wt96!5(yjx zn~Q=N$1AJMQZ+kp9F1jd>mjfA?qsd%`&T*yskdrj`W-5`=V`%*kWOWi^Mk|}=l&I% zag6-}pdw(A+DhwyQjci+NwsMZ$a0Tax!Xr*i@f}y6v)uPij{d+EGq#*=l!zt!zVpz z^T!D~h)Dh9dvu$;XM<|0Iab6vr(RxU_|qUm%sr74YzdT8)OJ=B8!43EUhYFNv1o&u z1M~PW8RashWEV5HvALUjB(o~MCax&Vq}E@Sw&=n+;CM7dUezkr6z;F7HEOW(NZT6IX(8L0{%rU3`#6=L67X1SIP6wfYf|9tw{EKH8G6vp3wE5r ztIOq)KASs~ls(n(o0bMV=hYNkpChp_&B{WSS3MsbZqc5!>2@6U3o5#+n)$_LF%<01 zbaNaT>G43%mxK%Q0-_VH`KwCbx&QpSwsmrKk6gFhb12FN9&+ zXQ2Y$fsVf~RMdkibqLwx@^2^D8ktsmW?8aF#!eE3ejZFJEPgftpl@~#IM@Jm_P46n z#_D>&2<193%_@7jWU{<}ERwM`(B2o({w~dSXxTIJK(D9y!}FS^4>|lnW{KAM3lpnj zo&T&91No!W!enamML%Bs%C3+pG*6qho`$M`37M=$MmWSuw-I!(8054FGroT z2)DTw-~VG=4r*yVQzm9w4DEnd6rxpm(OLv9CDn+is_6V7Q?2ReECP;Os&{2aNJ(## zTS6tTAGWP#G=6p3c&k(nU4e9}cr?^~a#F2Ccsksk?;mC6LmpNf9&wfEwoQ>Pt^HeZcreHEN5cy!FMyJynH6b4l-u8+5_UNxY_2oK<7J~~A$o>ZQq41UWf&Sr~BBsSc$ zrdxcse`R^6WJuNTz4=9iY<5!%BM!0$igdHm@+1wqMz3@xj@8ixEoZ^P*_YF*ljMVoc;{r!9~Lt*J?6VF&6#3%Cv0*h_qV zx5U+Dp2Q!Uq=kw|GP*`pu`J^U@cWe2=hyKgDQMW0z}6t&r%_%060((IeVH}Er2zTM zD;4~SG{=kiW4!A5N2&aGFVG5Xo7W{p+Flq~rWb6av@xZta*@gcd zhDTBLkdccfupStxrAxG$&8K)7fuWW(7xC)^ZgA{U(oIw!=JW?${HLq1Ne#elL< z-l_rb7*%ddt|LdzGcT}leZn@*R+Yqs{1gB{s! zu4CU78fz-62UJd(2=}B79DH(i*0uhrNT0~y>;#96Wm1ko6 zjB;{wc(;dw?2y(ofevu8Np!}3pNj_L&}xPI!&PHDbh36?)uLwC2>st^Ve8pa_rUBL zm5416coYiNZ0Ue1SDMpAJtdrII-Ki|kxre@*H%AyNwH-IHRDx?k$zZ_4Kl!c%$C|b z@l>PeMtT|H26Jev$h=2B7#V96-_K}x3~ib}dE5U?7_!qzdGjbU0D*>~0`%YIKNv;U z*4aD$@KvtBiw`e}e#`YRud3hjfreH`29m}IhtVqBAk#+S&da^8x6&e83FQ!$Dm)5X z>V|GS$Lc^t`a{3CnF;sw75MR18$r-=&UGy@J(H<^S2Iz;;1aU@C-^# z3@wxU2hYODkAdjyhQ8x>T6Ox%6a#9W;g~Er(a?UChP>1PjqRra=&%UJ+PIc35p?#2 zdh1_LyZ#zH2p#5w88A*%Tnsa4fxcO?H8(KFp_NkJ zb~y|gVzzwi@FX^uUXrI0M9)67kTMs1=3S%+6lh6tkQe`Hy%2HbcM^Thm?8XiP-eAl zmBF3Dmp3vUcLbwu)^pr0g7r1mc1DcvPdACWv{u0GK7Z6M^WkdzU!;JJ$+GrGQnW_k z`JOEIvb*i9Kyyn6!U2cJUqoZ2&K@o{pOpZx0Xm!?6~w^dQH?zZ`N9>S69$}>{a;Ib z5#yM38>ZY|{Dz<7WBygz>DE)g2KNtQQ&V1&xn5GqG0O>^-e&)#8+8j0>;V`&(nen&bfVn63J&Wj8UnL; zb7AetH9tiZ{IK@d>%YrJ4?Mh55Yt4b8|Qfjd)z&oj?`7+FGwJU9;qg`8y)hGd7*jC zzCGDcqse}j59jFb!zcVNv!JB3yP>z=Wc*C|-*AUmo6fFa%qM(jHAfBm3csWX8ro~< zKsPdQap`RQ(t6aYy66ru zOV7(tFW>m=4z{Xd=1LVxvd}Vz4heF?ZyRooFnueXf@~53ScZ&&1J#-h>b>@NF>*h8 zlxG`6v6ENSdnkiwQ-aV4KE2rUCnmA!w4GJ{WFdYQx#e{y?&Z)j@gP|>+E!>&#^ zGlop$mK4xR7qhm6#&e^wH={uQv7y1-qJb@9;)7Hs{zwc}dy8S972x&{z}lRXCK$#E zjo8a|M@JiMC!iHA1~DSo*+?8c)6Gz*5B6eTPXEg$odsa%abY`>1#moTyYt6{8C2xv zAX(!{hSv_6zmZV(9P)s-Ngw3>u9`shR6P-^rHbDB*KLfS|2@p4&`}UJTpl zZ2fEVLCr6v&m9KQZfv28ShBry4vP#bYZdTAYTyFFzN0 z^QH4dV;p1&jhsIML*zTF{49pJ=k3}P>Y?ZKliu{{EFVTV%xP~;1%he@{`~C(D86^@!>eIg_08YEQv|*(#1QhXT*A;wyK|xV z@cH5jo*QNb#(!nj?M>J;cNHvWeZ#+9s14rFeNi1*s*U$CNE5KeuFmHeN zUCq~U z;T})*A+k9@<>zmkqsRX}xkzU>YF};sRVuG%w-HF|@ZD%+gJUG!?!Uo^qkFJa*X)pu zz0|u0`7y!^jcQ-t$W=k}Z=DCWg{q!x131tA-3ViLRfRg7IU5#4dY*?ZW%1{!q{`gN ziCfAca^0G%#%vc@K%V!iRve8HcRJui=CKCK?_*bT;gVUr-BY)tx3%-D_Hb8j)gSIqw{h<(Mczerb2w`!V^Ls?IS;jc?<^^NfD_5evd6A^RJAh|OPZx{; z<^dz^Ztu15O$9DIqr{U?Q-eiIK6eJeisIVoQq?5{nX%#bas7VYBaC}4BkyfHGpZZ#G@JY~)R{-PM7HRD#U=lcCR!9BFH8*K4b|;igwz)^Tiz@2m@B0wZKee(f)j zPb$T_e~3lcdDs-^?YKv$Im7@E(b{uSW|KniG9@)C`wgBJE*L5PTJoohfQg^SyVgs5 zVE*zwFyXvW;sBwdr(g_l>YuKLz+1lbiCpk3_)@?++WJ?SR7k~8olD-%Qx*6kjaPSY z{KqH7TF{)?c}w9Ux#h2`na0Zgu`%=n3W2!m8&0d9T$K2Xonz$nQ^=H;9IVLAybJ7E ziOXUWb*TB^jXRfIo_`AT25+ZHBhXQVedXLkl7nJ}@|VZidRS))k!C;g0v{4VgM9*X4{5&&GW z+sb23({a1-SVR3_qgTi+_nWn?{1%teE<_}orDZ7ejcx2=G_&}qu1ejT5qH7KC;P@{ zEU`f3vj)T>k2Rf(+FFS&?Dd3TEL<|JP`^IM_hjo9Cs(I?$(CWvbMw%CsYPV45|5Ol zWk)p+eN`qLW`$atPN!^_ATt|ksw4d3-R2IZ$c?qD@^2(vjP0mP+*pEv8phcSXAS0PQ&rYjV?*xzmg1?#r&t;~Z zZcQY-Ml+nMUwWO$a=7fzWh{p_o0*sFhC;^ss}0x z2>KEp*w*u6HM-Cgb@IuWaDUZ^_gZ|I%9CvN!nBQ*w8jT|QT*rNLF$kTpl#8TyTm?h zj92FSw}C*HJOaO*eY~$AMs^{a{T>(l;|4wRLIuxytmld!MzYLj1zbm=COw)rnCs6H zRDWheeSP^=k|-|E2q?=4B%Ak?!rc6FLiSVi2;sO2tY`^;w@q&PyB)s?_k$Zh9K;8g zlE`6P?2>Z!@jcT581Lr=M(;85t%^)=Qi9*3wYMI7_xb|r#0L@MeENzq%`by4sab>H zpf$bku$kA&jL9T$8_8-)yH_db19bPfxfAf>Aq|!1+qp1Pp14ZtJ56no#%ukV5$ypY ziI=~Z%pdt5D6FBS-t64Z)h5E-a{H&?;?e8;Y+yRJ!VZ^LT@z#W24vK4o@?iE zvsXO`z;a_*s2*bKW+R&ZZLlr}#^M%wq*)7k{|-LeJJ#J%+Ach(;E$Q-83msgrnXk} z@T;?Lt5j%*n0&Y^Jr28=oZxdO_LOU{7Fda-)_Tw$BB~5G1*P%-o8J^WPi3}xUDYT5 z2;IP>&}r@m_2^J>z{_evr3zeZ!DsGxxIQ;d4KX^Pv@jQ8JFgM3P zy8{+2%q7%t8V~2DGGOgF8Efqp|6gqQmuC68BKWWujGbaU|J5EM^S14@!gWWfrP-xq zY11x&2Px`LykGmixAXf=I`V$T7CB&(Xbl9+E#a%-43>s|*^9{pf7Dhe9q8tQUmt0b zp|&sWXhekM`)kBCgzXQ#>XYEoPua)PSMpS#$)T8>7ZQJ&_GnZTw^vFhMSe&t<$xO?Zjo|SnmW= zXGesUo4lliacQ9?VQ)JZA5&`IJOjSV`Wpt|i`KmS)a?TM`9DK2~s#YRx@AmnHYnbYpdXr1zw*_n77eWosyWuBP(4gB(U! zMKaN=oD{hc`=-X=nRtwh<96y}B64^4bl!cdkVpv#)<9l@3;y|WZNRrgfcye^rekDbrgH&UJtu7=qs ze5Xy9|6VZi+=1AnheIGvh^Bp^tg>X3#6<%w>9ncYfH%mf@}4mecSx>jG}cz?EB)V? z3sLe1sSUc5F4n#VPgj*DEK|>{FGP^<#+E_mv?~F}8ehUMebu1xKvk5@ja$Ikc3#hA z+Viz6rq{I7j6cXJ`$vVr=+}X`!G$2pOoHW_jU@mAbJBOhN@BR`2FG-!*IL#ihvW6t z-WH;T#nyxT(sRyr#K&>QYPE`h1=;+D#s7EjK$K{J9okMx5XN+1lXoKM>8^>UcKa8W1RpW zQBvR^kxm;ygil?%P55GZ!6Aw?JupfK7uUc?oLpxM!yKCR>Q-8lQ^=)kA1zX-?V0~A zh@64WjDdZS>{cbFzmiwbjXYVEQ_K<`B5d~Ye_omAmoTPh)l1d9bb1!+>n)kfa4o%C zYgnuNG@DcdFR?m#FK=xLiXU#vmlylSn(Z9c`niURQmNmd&hJJUJxIHMwGCe;As!8I}b9wqbi3 zW>z+|%vrg2?yXt5Q*%$WT!@5QQE@b_%#pYfSLPrGk^@n2<=&>KB#3(>PTb@F@_ywj z2M53VzOU;%ulw4r){4PE6!E}46h%1YVOe%IxoU`7y3Dwi&7r@La=)z8wOK;Fw`A6f zyy(=optSLT@3HH8vC7gnIhB??m>>gdOl-@CYg?QXp0`DM!5Svs@c1iPHT&)j-E|Jf z>XbFOwp4FGmewtmEb^n+{7>Qg@#_7544#)x8*B_4RqTi=hlkkrMrE6_CS z@1m)7=~toHlMjr{ntK{{1)_9#@`-2P(bP5(a?EJgmxXJ$O3B##eejN@ZF#Knqo3iL zndKj*x2I~ZO*S(;*F~70#H-frJTWoOP_IT4z`MkXo$&@EyBy$MUYqox{l?RX`osne zd4ImDq9>OBy~uO7K5ji<%zJtoPNXT=*5qANTrdX*W#f*bfJ+!c9-v`;qUjFekO!C; zApnD&GsuqFH1%uVVqC@jbCymdrfU-=P&SI}G8`ZS{H9PD2r4r ze#L_t5YYmYr8bEzBqI{3m%cKw6nsshO-<5!Z_DhqQSR!fBS8S!cwP0>R8vEmP3@z> zvC2qdH3N76qk;j$9Z7tZR52Wsr8;~1t=J3Y3j&ex9QUhz^bcKZeQ;O zZCN+GrrLbq;6h^fbjyNuDSqHKWFJ4}jK!X)4t;JT6v9*rvguKd8xtq*afA(p;;~uw zM;gF@u5%at0+>3OUxJssX2mViH5|9cy20hyL5|T$rz{pJ;=1hxv-C*B@IEzi7`FHC zsCSy!t}1+d;qKi(o>($ZQWeeB(o2<@$m{>U6Rnk?eow91&Ej^Y-zaDu4<>v5j|r9D zHRpFT-y#}c?^y3(hR!A~6(1p|`Qz0>vS-khhW+|#G#N|5VB_Os+BaM9S<@)43ih(Mn|8!mB7wWx+qWuVe< z4wLv?I0&=x5c{>PQqsFsBkkpn`Sa9~9DiqaF+G!~hX|9S1}*QU@$T*RZnAE)lqTEq z+#bh)npup(Iq*x5)U_Y*u#*OIcC*`G_iZ!PLASBSfqM=})7THUF$x<~^R%N}#Nzkj z(Ng6oA5S`ttV@jUUX5zCKj605EXuKmARfKyE$ysYe6>C8HpN$e=4jqxlP_i@Hoi(o zh#d?@HL-@-Z55-vW|2Vzh#_8zh@)d8eQPL#2Ah!6>apJ>?>k#{xY?AZ=wj?KU~W>Lt6b35)wgGuj1A)Cy*na#J2w1&$l$`;YK8K!#m{-LD5Xp za~lK=w&qii(ao&6OVy2ykxkm#U8H1xi^@vJu$AJCsVb4?Qzg-*J9{@Jja3iZ9?M^A zTjxB#z7z+u#lLMO7)r5QH1?uRnvm$EMK{3(b~1&LR6WeKIx#qi1Qi^F_9RKdTe)v? z|9~_}++g~1+!m?70;o*{a)k^1By=-UaLi}tmiWI;RV#m<9$J^y!5%Bbx<8M*cu$az zStFcIJveh~4@>c*1I_J?hRyMZE=voCtI%mLaST@)0=ZH&_36;*;HtNhT02?7sEp%l z{p;3rS5yB9sHUmJmV;^{w#`J(+rp%-bhUiH>VHgc63Y_qS;jdy(@>ELLo`p?zRc5Q zwvUYu63y^faAbKB`?ZDbr#{xC&`#_IomAFmSi`R!2UnbWRHOr>$%o>qRe@6~;->|OkKsiIVr zP{L%FSQhzL?H@C>=V23othue-v^xq*JW4key#h^41LHjUh1@fZx)wdXZ{)(_4AUGeKq1u-st=@_d8q zaf_hq=Lad0rN@*~Y?#fT^E>r`=O&>6I0F1bO%_tLLrihB8n=e~cdCD0pXG`8&v?!O z0J|%rM}P$dDvhq~?c&sri)wKrA5)fbLHm2}cG`}g%E4t6AFNhs z_b;1o>Zym_TmrY~&xGwB)+D5cNh8D|n9WDy!v|x3kxYnR-4)2t(D}fgIHclbGQ!NG zv}T{$fLYmA|21ODPz{M;-D$y1;;A`kT^L|$WKnl8MoQ}A+(fk3YVwAG0A9)mtKA$U z^2J9Qwbmx^a7^7^gWg7D`ULn+GXL6$0)*hVvBtqGBXp3}UaV{^ObAwrPR(5mcWK?Y z8`>k0`4Q}L-QJ6MC(+l}qtH&krPVJXUE8Y`OT436^rgOdjI|VYkum98RHS^#CJuDy zj$j$l*QL<{#0ta#hb?dX$aO_#D!Cf9zLwTRsX204$OAGU*dL-D>)t!K#}2^0!+X>z zj5cQ&hMR09*9+dWcT4Dj9b6C=sg>Ze7rU5Enf+3Ce~GnFOaf2F{Etbysf%Xi2C;Id zMOuUh*{(K1H3r+Ujh8lQjBWH!uW*YAV}UMdv<;{nBSG$nk!J~w0|rUD$1Z{mAcAi$ z>3!2#)C{Mq9t!kJ)53$yP{$i}-476KT|@}pt2XF6S5)57` zr|a(lFr(uq3^RE-&Ti*8`nr8{x^1HnVeK*&2E!W$ht{wPCs=39VentzD-P3#vd$cZ-hq>Pz6!TEyeeIoE^+4y#S1ER6taCp9N}2X~uuuHnWap8gVA zpx=QMIX#}_g;B3P**46zs;FyfKmD*cQzhgh%p>E6%|A*FSVLlgoR`jPI%YIg0}3{p9+SIjXiLytK*V1 z5A!+}>h0F*4SwkNI4t|K=apY~6Cjj8BN_!f8pPn41exwpS9aOumfLmoa53O$%593Ams0{94jcFCf(RJ{|+U^kqJ2+hj8L+Bx|#yCEc?rL8D z`mR<0#1t2SkI^spQ&%Y1=)Z2ZS-pPd+z_6%{=uO-AG}x9R1&4%seLmV=y(}(*%wvz zGX{1yo;FWHy({bN(ZAA{#O~@Oy55{6J3!x(PPW-kZbZ1~LUzMLT=M4Jv17`MuW0DzfF){OYgs;d zx+giA-0tN*4YAD`MH*RIO@MlalWo7+j=dmT%V3a>C=0WlzWq-#7P4qlp52FJCu~Da zfYDw6HW&t}*fm=_L<5$!ST>2Db|V9}7lNoTDK5u&o4d8uRSaC~h6jNr4XljDu5x{l zbGlzw?&R5tNoT zMWmDWAb;!cO^2anFuezv?K12H9slr%t{Ja+7R~sgb?X9)Z4HVsja>Vyljh88{%2Zt zmpUhMZ|*b&X7XmBKWk{hgoDp)L(7Z zN2+-t)q~5ICH4cmHiCV0Nrb^GrS>ibwuGIZ8Mxgsm&Maib0=6x^AKpU^??tk9R`9? z#!=Fd;POyS;pCok&w<_>oFWNtcIVK9t)-(Us@CFPo=9tak+Rv_V4&^-4|~d${L|%| zIw))VO@q--xXohBCnTeno6DoaQaLqclc{m<)DYCdR=P(|ie;?Nz99g-9B3v7k3)px z$tJms$`R|XoQCdZORq`jI)s*L@${Hh8h1lQt8RaTilBvQ@n4-&3pxzJ*$|s+(mR0MH|)2$6N(awld)UkA?h-vxAj~&1vTkgE-_5_-@y6+uUd<`F~8^ zIsao~tg4oj)DhltQBde=jf;91`VSu!I&&PxF5d<(@0)p}=^q!=>3q0BM{U_%wuxIO z3_GGlPJR4_+DtR!(vFlNY?)dj2hyEg3<|!-MY!&vEw|x*Cy{`O*4|n)=HS}?@Q|Lm zP>IEtV%AWNjmYH_?F;}RV7MPNU+v(qQ8a109$~KBIw$;dtD_{MQ&5;WWP`qPM4VMs zX6tDbfWKIb7~JsHujvObm25;;bS%c+u&^L0Vdz6)r&FT|sf{exjFgY9f4e?x@lav* zxim!J%ebehZo8JDe4#jC0Hvs|CoYlxjP}z88{KO;TM>4eT~4A(TQTKuv&n=M3uZw))3RldFnkoV>3PkFAtQ%i zqUl(4z9YS6No-o?gWO7TA!3^8XS+A%s~JIaben)%@H2QH+6~+e1c+#J>MPiPak$zl}d&&LoMVt4tLS* zK=>4a2DAts@v@Cln2>1y33DG zaT>?}agQ^y=H~lwJ&fwY;ljM;e>+e6tx3WEm~f0EbQJO*%pr6_rut)H|8?NqAq-4@ zIaEueA5vr>HM>1S&&~Su(jq!r}uy34)=IIO4U7dn%|}G@hmo;sT_Ha%t55K zonia>3;)`I!c%&U(CDQD{-Wr+3Gc5b*G#TX7}Tr|)9weEH>=La@#m?|6Q5VG({PM{ znS4aQ!tp67swrdhtYYg@%TQyd=TJoLHF;&Bn0599{pUcm#%yijm$*W&alA{UEqWLI z^q)CMh%ucDe68Bz!$7Td%VAS0tlxwj8&KT`8j{#t7*V-6h=eRIAZ%N zegRXK3!r%%?Q%%?GcFbwDMnm%7WDZaq3=qljqByfoY0L&wfuMN>J$Cx>~C zjDs5+)S%mIAv2{aCMqkQ$-c1C;A7g-KL1Bj3W8BulKB3upHHv_+4l%pay-Y(tIc)h z+qO^}#|N?g(<7#E=T6HPl&U+y!HBM+1baQ zp{d+IBWQ1{;eINdf@g~R8CSQgvI-8fPZ#o`HMsCXUqIZ0p9iiiD&bTMMRi0n6o^(&Hz2ZGFl@h-5^cV9y$+=lrd8%Ts!c$5ZAS{Ii4;v;f?ZBt+4(`^=IyzF3n zT&|?5hYyg~0*op{7aixiq`b^Fi+Yh92jNC;<4m-s!d9Hc4<7t*D&unbv^erSWb4nO zQ(IynmyuDIPwM(?{i6a)j}KpEKk^5*^F5i1y;;v+_mgp!YEI3ixUCAkLqfq06L`=# z{$y(UBr&`3;eq_|)q(!NV#;{F#+|Z1R?oWlW{sz+$>TMf*W(_Z9<(dFXF7C;z+7z7 zlNOyHxUi8r6{1OfvE7Qb%C`nVdtYb;J8)6d>mO<0c=%=4TZ3{PnKvMxAG}&_%@ABD z+#^j9Pi|j{Wqp>)pr@8Mz1;!E)|>kHwP{ECl~8 zjLYUK*_<1%{Ds3+uRIAz_Hh7_$jgkqp6|1ONQZJ^|3VY}bi{t5oH<~g#t3bmq3NGm zrrzV??il%2*SdngbE&5~s>1|9<$PiqnD~cmk}>XV8rTPhg0!0(=1vS=VD_rs>e#RY zW=an=y3%k4{5xG44hk^pFRfEAbulj3i%g!RB-U$iZz3jHVPT4_UX!7;VTBx><6#v@ z!k2Bq=n0d|^mk^jQoIcdMMMO54N|PEUIGuSpru_@Y zV}bcA1y^G<;*>A=w4P7y($s14qScg<${27zPUB|;LuX3rD1lm~gsNACyzZZG{!lUh zee^ryia#)_6^6IxMS9 z*9j?zOL6Pe;5~3V8{~KPI=QM1C3PR(Hu)JNK~{VcpP2gvA(G@&yaYgneOwYYnxL*-qMO))FIs zTs^!48w~2~i)KvC7pide>u?iI^J#ynD;0THt=S7L(#63h0;(NGM&xY_x>N?_!j92Y zw%t4+zPf=#{4VTcl^K`8J{c?~wG7|pf!={S#)S+^`p|CW{ihfDGpqHyY0g6q(bar0 z@h|9bSrcypiE1@`5)|f9TW8ZclIKk8;Tz73W`#QqJ3Ccj2$*40a{dPY_|e#4+ZoTX z^LrTN+Ule?mk0fZT=~!RceMIq8^VM zgrcGA!DaR&N0M1M*bJz;--Z#xjONLe&^64In9}K9we1SSlectsus_eKm272}p!~LzJ2ULc9S!DO~ zs>S^Z(a?Wg1#cv_ozfa5nA@x?0@`Zl?r-Q7QWg}~4MjYP%B4c+TE|~DryOVgz4Eeb z_QbFQsT7! z(|IHKsDYQUhkO$@Wev|v6t@XsFnStX)>U#jB^~1P+c|g6!#PEnkh{U2_cG{|ss_TNP5p`V z^5^L>esrWBwrYQJbrN>OsRsxe0}@x>dWh`Bl~NCE+wxX zr7U-d_Zmp0dmJ1FX*m}f4mc4T&$6Tb$7FflVRJ9Hm`$<-FDm4Cp65FIndYEN*Oki3XVb9?cd*!T_b(>bpY}aPc&sz^1#b!v5y7n{OdQZ&bui9z&0U zv`!o4Io=j6iGNEdtwGSDsg^6EZa~prMlKxbGL#Z*`h57cvCJ9p2Fq#r)LN0f!@jiXP&ldb*2GK@ZYMVs0f$pVx&F5jQZoWd)nFgrR{d?dpl zK0ZI8;Kp_h9?0tTY+o&re`j|+r#>r4Q!^AT!}cYaVEUyI)!4LY2IP2KCY742Ew-paXEcbG7!r&@qTp~>oZ3>kk8Hh zDVt0fj7-I0Dd;)3BlszNeoH2%Orh&OJajsSq(ZW}&dvSbNgXw}mHd7Xb@jU9m?>M@ z9U`nD0&^ODerL@XDNHa9ISQvBVN++Erx(UBn)>F$o}j4FV6iXFmbF#91#VK=KVWV} zrr_mY3#0jlBk2ld=yKwaruNK!gN@xkZ^W4^uX zE8~y)H*vdr8kSJI7OH~gLy4z&7wc$;uOJC7)(c?j2;I%$&Y1C%`x%saDrJT|J0E&6 z^Mzx!xnY17q{nn#8~XD8%b>Y$k)ii?A64^YPon5k&W({lA*vOMbBw@V@bF;dU8KuO zuE)W96Jqr>p^qOdK0oor2!uS=n4YUqXDgKSxRT;J@o+7bv5+~he-KXB=n5Dx&Yp^b zI8%;ElQ?8l%v7`Esjt;YA;8)2KY5z<%YXMg&fnkrqq=tjb}A)xBQ0o?8@*@Te-Xct zy<)l&rPBLDlSJa*-Dnc?jACQMOta-dj; znlgB|$%VRAabP>AJ?=W`dz+G1sZKH!>}h}35YA!NTT4fGRn&2)9V{-eV#m4*(UC;B zOCI^^(-+2-#?XsiB;z8TvWyIdpHz8?i?0|i8h4~V@A^kh=&DH$0^o( z2VP23;*8bX{>RyZWDI3E1UR7e0GBbBYdPjSynVVpOfV%tJnT>pYE$cfo;7F2fnuhJKWzL*FZEFC98D}WP2+p?t_CHD z0xQ&^#|Djq0BTrr>w);cGGI+s0gYE-m6RM=bF#;vZdXNd5Ii?2aes9lPK7ca@je001QSfV zp}6C+^>FdjwFzs46E2$Zn*~daVTnFVefu^c+YS_k--oN`ySAK7t<I8zZr`?6FL0@ToeVC93rm^kT<%NcAqJHqf6p zD{aqw;;EpD#6y=4gl_Akzn^F7_#EZBxe9t4YG<=lQ+$0OKFPyl82BkH7^oO=SG^vz zqiIp?o|?Oj96hNy)JB|mY#I%=2bx-_qO1#im2?(OF1C;K4cC`%ck|-zA#B9tF2O^a z0r3w#w(Y(Mf%-9ET^%a7!YFwK*N7!`$o5L3LG3A77-*^y(notRe0wQAs4~hq>RnaXOWpY@-)_zq z0spi&h8!>u;`5zT_5A%`ya{SB+aIM$XLkq=+JlaT z`@s)YY%s~*X5C~6hFH$9&y5sVg5Pp4iP}SbUcGrNu)xWDkFhLo!8Q`9V=dX&WWe?f zfYg)Gq~w4YLsk<$ju(6PcfK)kQmHhernm@)!Z1V$MIKztod__^ZOD(JC4;SY@n%SX z?>?WgjSEKIkae42`-Lm{w;G(Zl#3(5cqLALOWt3$h~ibloRyjAVCW{MrXjK{>CkH#^#Q z9EAgB=gIA_(UJkrOTHQ2j`-NvB+zbl(dNUiT9x*qeBt?ILursMO^8<#PlfTbWWRb4 zA8&1KY`3kd8&I8j;3k5UMii|#$^1II8Uf3++EQ%#tR)v=ltVoZ79!B5V<#ET_pveC zVeW!NgS72gG0Ewy>YDJ6S^hd2UNNMl7uys0QB`UFYCiEAp0Xoxb88Nn3-K!b*xrjG z>~P=ch2zA2c`g2|SITc&pIl)hskZM}rOc8{LmCJUtAr&;0dzaUVi?t^zI-E8#QeRJ z@03vgXn%j)-ep{zH2$TD8f~^JwrAYNILJO}cKf%w?7>M(ROjd7Q;PzyYLB;RNQ&Df zvwwWz~-z5b>_0qr)oyqKVMuZo^tIC{S;EF)dyQta+46a9J~(y~gIe z3HEYOD!|n{-^C20d@vUcpI}Z$v!J$VtpjO5nG5KhsND`;1MNp>>ISQJ~QVw{cPzCsQxz`uM zeAN6C{LjJ>)Oc%AEDS_2&M1Mx7dFb9h*Y=f#4jP(q)F#6gXYKUhP;oNBno~i61nc1-pnjRex1F=L&U$GHdK< zz1M^VI%R2FgyO!K`goh^O%fYuMJymw&)`HTL@OGdZfe}7^qUm+ zxql(&uIhQ-$IY6F*cIovg8aKEI3R@4ZIUyhXlhUY+o7&pHT`*`U4_qeK4E<2e@tWa z#rhL~qy7ZGG8~18RCLiMx*7RfrlKo-D6})%Gu#drs@hl7ruVS4@8y4Le&JA_Xf2b7 zbtQC#;kdJdx|BM$VWYeeSp3PQhLhMQ_$mjH$su$H{?ECXg`)h(^2x#z zpKq-KDqYR0(vNuuEh0;|`;K!s(LjX}b_9kF)6|y2ZA|S-bGNrViesSNr&Eu;k~c~= zq7u7K%Epw&y>ILNkICOf{4(=`r+TPnqzb)1w8E*%X0rRNiI{i9R{hb)i9vF!Ap^06 z#MMA-i>ejw=5IQao9YFgqxq=!O^Q=dRz;|&(gyl&^yboq)I-!yC~1WO+3h%ed&X^l zkUwj+4^5I>0V#NW)|-{vs)5n3{f{YOj=Enj^DaTyvebP_%?1qNV5Anc<>w9(Im91* z@R_X(%SElFcZ)2b2C2~LPk(y3Gda1`1z9=jUvs#<$e*9S_2`npfZ9HqAnHz?^)mqt z$w(t;Q-y>5)J2WTF$kzKI+ISVqZguEsIQPydNm~j=L4%f^oAc@lI_scC&bb{(w(z@ ziqF};Yg)F1iU5F?Pa$2;UU>#^z}&NX>`|8kW9>86yI1OV(5;j`4`s` z_D5ZZxMTO1Zbx{T#gaXDw|)+KG}s5(TurE*&#xvX2b_L z;v*#hP3rO-uiKjXHAsB>XCIxGV5aRG)(Hi=Z!~72wd+?CgvF?$_(m*5W^nsB!DTk_ zZN2)BP<`u>jaw>`wAYKUk8s&ayEKuh+dpguzhCcrRaFbTkJu}j5u5p4nQD`Nnc(AJ zIV4mPPAy6Ym`?EOyWBKlho=;(2n_)m$;UX&AmGl%Rsi|1 z@vciFD~4$~a>kN2H5DxOkEM|pq3X9!PID~xRB*{DZoSq6Rx1T4)6A@_`J0kIdn11blGF zFc=;Xv73;ZsCk3w8@lNJxx*^y0mt@EqI_ymM2iu8Ii^qzl7AwJ?2isMiwjX!_|=aoF;;{PK4rg8hBZ1Fjr&!!cp9@ z1&e*sP@lMy!V~Eqxv4G-Hc$BKb3J;M@~dBy({eYpr}=$#y^=#rNXO$KtgdU~*OTLM z;B{e!KVmlWhu{Q+^L6cRVFR0w6+38K z%C{#4G1fES966P#Aw8!9E-h|?`d$_-4X7%~`xugL(2U{q8o1PEoH}t1D!5>#StyOI zNozW!uLZvt<`YuFr4G%^O{aciY5Q9ioQeIO+c=WJxhN>)A#cvr5DP4YG z((2zL@tb@6Us}004y7D`IY}n=mUp7{;vOdZo0KZx?59f48co|ALO%WXp|Vz3=i`n` z$dtIfVB2%f`yej4_W=o4Dh?knGGJ*At2qtz2@Z4t;rVn4qh1rP(G{QnF-2n3N&zBf zl{-MFj9(@#@BJ&Fbo(3}u&$ga^z_ibI8dMx%W`j0j|CY*SY|M)T)qrmu>d_y6(pp~ zW93Oblw9YJRO4WSuRrfzaX)@j@!H^D^LfFX!}%Q9b_gpOzOri@oizUBW9q)o%rED_(LB(5(!?Y|K#V0q{3?F!<`hMzk9p6`q?@~0r(zrtI zKlh}IB{a`O_qUb9{Ih4m_pe@1uc=Y}bd*6NMMWBxKQvg3TPKyE>YmQQZd3f< zR|nl+BB-G9Ir72Qhp8MeY~@)~SFwV6hNJ(LwmFT>Oa3En{F8hq!2=Z_?bJ`AE9<4| z^uw%=d&@r0WuH^IebgaDw_jJ<-z$yTT-$kcztkPxw!}d+!5bEh)`b|JT|-m*?(izq z?L++=D9J=9EUM;y{G>WstRPmW!|nCqTYKB9cA|%0mjvJA-{<%P9%aIz@G9f-;x+p2 z$v}8Y%8Z1BVw5wWys4al@=AAos8nk!d5M?B^4&a>|NHGX=L8Z0m{m%vlbfvYbeGMg z?RQMW*BHWeZIZ9ZY6!?4ePByY7U#ApRSv|SOKkO0~jq4 z6)ykorxB!MY%Sg8AaFW5QJYPXS1V*o>&vaoY!#<0_9xGjZ)#ZR_37O(7(gYp;NG=e zo%=+x%2!o}GLK4Z)258I4@43Z|LET}&e6!)OdWAf93tb^2M5eP^YK=1Nh;sH3$?xB zBG~IMRq(r@(!oh5J>w2IJt^;9P>iGc=eaMft-*^7&xS(I0KmqyT6#ST1*{?f!Kj=x zqUoolumSGqc&hxj1^{)ucie#%QqLjlmttA_RPx+!O z#raa$kVtim=rAwWLjG?ASVd~mU~Ki7u!JJ?RG%f~Ro+`=WGL?Qq{s?JdmB;luq^4zH;{{wexdO#%pBdNd04k zld=Sukyouwd(zUq{>s3;LP${eSiwJR_#z{4cJGp5?AH!U|JDu_Z-Vv8fSg6y4>;0; zJD~k=6>eyE5O*Dlc#+v+Wz?h?s%wErSMb`|-ceXU%bA{LnvA2OgSDsA$CLvjZb3ZH z1oq;A4t2O=`wx$OT@zTnZq4Zj(t)4E@M7`Il{rMaEg!&w}rLp^ zuA{3$EM}>N5<38LA$@t5wg8+s_!;RS9J4x3aeF0C3t;I#h2dGv3s47krqZ^>CxX%2p~)h z;p9HX_=WMz`*+qv)rz3PRlMP-OWE+TF=`RIBDpAEQE{F8b4c6j6*%fMN@OE!uM z3F)cB>A_LG;iAtq1P6^$^9n7^_|D5M2($6 zku2LnmRCStNea5O$#_bCV!E8_LTOAiE-EXZ#DV}ppd+WUy+=-zr%>-V94~+Dyw6=o zko~)3Ys~tjFgqVwo~u1{Pg2*b*JiYaQVgONHUfty+3|QRftIKG@4xcL_iuMTJ=o*# zsX2-lMZsx=9kX@vHXGW+7`}eGhMGc+qfnZiS_b0&Y0dY)1^ziX+@o3ZTodaAQy@X; zg{75RGky!{{vKsxcLdovH*HG3yF4!meUfobup5u%*`?E|%erbACTc0wu~R+N{L#Zh zyKc{NISO9W7dc;ZR;{W1oB)wRUFcg@DqrkAb7S)F+(s+TTg~pq=TM*hk7;ln_&gAd zFZOQgBoa>=0gYy-MGI%-P36yYl*AGa(Xwz;hnz-g_5P*``SIqFeDg-<$2L`QRO;-? z3u97Gys5D|U|YH9=n#6y|Fkuu1&MgMWMc+boSr9z3m@9{oDME#&Xv*72VX7z{=nTN zfw-R41UMV9wgUrdeh~>v_tK!!ucf|qag^WDeQ_^9J4L=;WAc?F8%?vokM2}rm6jBj ze>YUbHJ-ea>J=kqxm2SqhGHut%FWWxD4-oM5E#|Dl=%6zlqcS6K8>@w zRNX3OV3efy{o(U;dGEU-y*FDb_%+L&brG{O*{N^hZM9XF816f<*K`c}=h)=#e#M66 zJ6s^6l@Hk+TJgzr^leMr3;tVpu(E}3MLbV~$b786#)uc#-Hr0V3_CC5g8Qp?*p&#q zzVoYCqMSZYS;V}(;D?{-&AoRcI8@umt+OoGXXkUJr&ue$*5IU|T8YAWJcGCOx{t*z z>(h;ONdM2L+-W57k0id4Og6$+r#(v$ds%hi&3jcOue88Kw|K4Lnoh3r6*Edi{iaR!BH&Q835NjwAu@7+GcUTQW(JBz2dw{Mm zR>9aX71p}PFF0SbR*Md5Uh}ZLUT~NnboM_c#uROKIOfN=uq0wN)lI49`(}`@- zRe4|5MHWv`-dzbkd)LQYx?%k4PnrI_ov&Ho{P)-yWKpvRjf~o_e2TCz&JY4q`P25* z@>#zBQF0A?!Mt;cm>@TlnwhGZDeyj3#WF5yPIPsxJh_ruV)Q?zrHVoK8V9Mn!8;Sb z-M`$LD1Ru3zZ0F__wo_!Ms4?fpWcgP!ckv>tzWVh+Y{-{^DA&(FYR(M|v&X^NdXsZ>ZWOF->;ZCnUGz(TXIX~WfQp7UhE~^Sx06>YaYxBnsSHqG>uqw8Kr^yim6pYD|wGXCh`4E(>!s)fG^rf@Wy?h=DS zsXv^EtL)=oH>|UI)%f~W*u>?lWwz(z-sr3h1o_Y$dl|dHPjU%}2E{Xc{`C;!L=_zY z{dq${OCMVogdCSS=WDlbc}~7vBFqiodmYAx02E&u)R6%$d+J^`44ySag=?aH8rB1$ zJ5M-RVnFY5C&P^HJ!*!xCtQJ_1EAkHE@%b>GSI z*5MlKVCeolKRr$N!DmtBE_2pZD)HkIlaz?q zVHPgi2cJU;LUwL`SCIi%=fwnxh)|@6UOQ-NoD~uB55o_3Bbrfq3+87H^n0#OT?d-D??cjmEvvdcAtm=Hv8yL$)bp!(89#MbDX$5W@Zn=p=-~-)6R@ z0sqHq`g#%?L=i9=t4S#aL7xJBf7nbhQ!|kH76fP~2AXy!HwEGyG=HO0E?#hZ=$F#& zmfW&Kl1Fp+kX?!-ly^Z$F4tCDAv;fRDM!y-Qbe^QYjn{fLa4?8Cxov?0 z^1((UTq|f2kDGuWhn{pF0*gARXRQu22#5dn$c7TV;UTjNg}PgU!)bAs++<~cRGL{{ z!ajSaS*fPhsl%2&)>hRR$)#`Il2{;$Rmb$MXQ4DR54KCU!UyewO742q1b?uDkm_QA zID)ZF2upCViW8clONmeb~4kf~nVpv#+H z;&AicjLxtjNcvHjXMc=m z0Jk+YqaPKR+JR@i&BtrsJeyy-7h6~mc7mkexna@yPppr9p4nNbM_9LXM(a$wCM0v* z5tqv(QV*GG)cGiw8ZR_2eGlSkqqKuVrR5j4ILIn9W4Y*b3)2KlmA!78IF1)SgJ-1b z+)6Bw?=|{|pJ7N6`Zu;!GB^dEt%_w!HlZ{uMP@$@LP7O^aR(1-d-Ns$_7X?Q>`Vj$}%@E-)1plhJ?bq zp<8eQfs zmJ%hZqXxx%neZe`aHDjxhRAYS=iDzLy+z+Obw(G zh${&$+b8)hJKQWSF(qY@)Ha%#snW2bUOa{Tcd33-gM1G1lp~+I#PO^$YLTEFGWRY( zncs$iP4N2}RHD>1o!$hUq#6lkop_d~{yEUUK@CvI%~uYJl*>C-+1HerJj2_kl5}%A z#ZQ@4J@p_I9t%_zKgx=lT%IJrA5*~-;>2CbD(Lf(%0aFX>jC!VxG_Pf@ZSZYdqqty z2Bq`6Ot%0W8j<6mVWsxU^`frld!lM0pL(PgbSi$0yKZNOiBNf z&qB|FRJf$hOv{%(wG>zwc;imJuBew_a{5bgG|O~F$m;qkT`u)e65(;xp({cCum2(i^j4yMCTY>3)Zg1x zD(cGNS^sBY!4}D%njY79X6btW?i=_eN`SU1bvwkNBK;36qa9WD^g=zc8Zg2XPVOXU zIDUT7E^Cr8xlF~QY4ef8AEN{+dpURB`Xj-wRPx`<5!KuoGXTg1KEYH{!&r}@QEAio~m*?oYxXlL6!^h9+6;kItZWcUD2##_1D# z24A z0&kZDug%x2Hf4JE-AabwyUio?wG25#%JC7nBcaHRm^Utn@XEj8j`A0rL?P`>d8f;%@BM3R`O<+mqI{+HmxQo z24RFNvjtd5%5!hq_lhr0>vDdTI^AS-@9xeHW~3?+!U;HMVqy{Fs>sR2RQOOzBKX7G z!!(^^_rS^3W+C=LUKI8H=*S|R4Qo~zG~wap5pNL|?dzZDse+rVubiImj5aB&V#|oT zj(Eq%y8|s(NrD6;09;=Pz!X_wOW(Ugc`SZr-m7U^e;pH&XMY*eYcMCqHBUFo>@jJ0 z><$Wv3C4Eq+O(_m$-4L>_dwy_E^H#gDO85#T}?52 zwxCS=rs2r)9q7zS%llGij)5PD2wTT+FGS10A{@BkpdfQm5xg%UylUII`0gps++O92)z?} z+ABbHkr^g+nSD@pA1Ds@nuPV2VM6g$0lH9I+A-c+Q~#x0zW{?lo7G-*zS6$L{cx#?xe%--7JtH7cwCMt5Qy!Mwggx^N)5N+F0NUs?qh&S)Ba`%CnqEeg`;m*b#lcI6JF+n7m_>E!MZLO?@T+dv81tS=>m^GmH zZVY~SL#Z(xW1y*nKRHzp282Bq7aZhCs44Y*Co?UmBxa8OY(H>;6?^)zO;-V_Xpy>K z4&VRch=U$`1Q5!`e}qveK=wA_K^1hG4fap9iWa!Qb_)BJa$<*u&00 z;kGRv^mG>iQmX4BG&K$OZD~rYN8|HlK@$ZE7{!sGF^2+UPhReT${WgA$888W|NkJZYqF3T1+?uxg-P#ZCIVf>t>(PAq9#1^PqlI+RBh8vOYoMs*1Nj( z1l_AFqz^>D0px2eSa%9nM2qR!+CqfSZLXrwJ}s#W_=}&shu@;xEsBq-q8o-&@iT;XO*Vags{-vZDzT?ThzH3(%5oCMvd8u*6p<0N` z0gpkhuaDt}4mH(xH4KVgY%bQ{NswEi4L+Ogocx~ZbR9KHxhccr2uw7c6#f+G%RfcR zlD`|Z&u8+}s?FS=Y69(Bp2(JS6@8|k8QC8k3X+8UW|j)>&oNCOlA(7DP15&Gk=cb` zT7+jX+$x`AqnJd~3rn$0inG>1gZ!;~Cnf+JGd48}g#L(LYfrN01|)u&VdJ8}uKuhVFh@zJB`;k{(fGX9%@uht&MYnU)6*^b#Gaj41Ss^`>vBNht)@sXUe-Zr~* zQ_c!{$7|YlkC#c^?zgOslduA{{GdP)nmVYVD`aqNhsEqHL?~Wu0~5$5WLo zzle5BjUb+jo zQYBQJ4|k4r<{V1jtZHwE_z)yxp7Y+a2XS?-^0O7^8~N?Mf9X9Bk7By~-yfVJa`bKI z%DXJd-)4+9@9PBl%ill8x#qIFN^71BK@Kb9qxeg#p5A}-gi}xsk@%~bWUZU>Th zd02#5mC|-;(=H<=254KLIv7O6;){1IQ`Lmd^*^kOnF;wAJF_;d3{M|? zw048v4Lsq6i8`@dS&sZB@jTHqqS=kMO;|fzk6M64iA+kt%zxdIY0x$@Kb z(VVTCMZcVte1d0o_WbeLL9}T7t!2;^o*1zS;h7W*OSA#sa6g>n<3??*n|d<#oQ-Lb zlojpaYEx#)+rw|`2;W`~ju;k6(ve;Sk4c>5iH;52upW_{4zOw{-KUlv8*$^KfUtvz zz{`O>_jMJjO#WW>(|OHANA3~3HQ@CovOx$68#O$JI~|$KMHsq|MDw=tU0^NV6%6X;!EZEpzY_3}4w=+DRNbHe zh^C8>XTf&?w$eH{;%d?CVd0$bU+z@yumIrRC+$o&DQzRMKdfuy)yI=Km?OZDfsSHs zPyvU+&|D&sa+H`Ni$l*U`u!u|NoVcB=Z?FGR2LJAo7grCUF7UpRl)Zy z(qH+TiH+rY>RS})G-unAW41?*VOqH$3#dv0bB6{yp$bFUkcW2~8TC;H2cDG-m95K% z7RB80CYDyEP9OZpL5GJag$*l?NsDygt2$&2NmQ?Q4~uJFBRY;B7l{sty2<5dcXNcK zZ%>Ik4v#Ljyoa$CoY^33=_TLs&3UQJ_f1J)h2j9>imU~b<_`Rs z=ngX9U!;Me{`k^%Im&8IVm`U`%J=!X6h`naCwx52U8(G0SAnjOiKrHYaOhbEJM^GA z7A-dEru7C6-M}dX{Wi@;{-G}G<&H7+=n76= z;WDuT zzS2K~_~(dg_HynQqSP?r4o4>yJU=NL8`KH)=!op%(Or!MUktf#A2QNQDK{u)+&J+;5`=U6;%ZRqMq9lGQ{ z7IC`t_|zL7bW*_)8E!bqNd1*c5I?!(`gibwKI9CXNbk&1tM%^{iXWN=`$f`PcVQA1 z;f6`v5SvH!o+2A0Si*lSxiM+0e*?t6eSy1cn@p&`od$;PA@%Dmrw=aeoLu5PU$2Zp zU>XWVxljEFSGaCexm47jOIHi!asvCsErmG@ zgu3G@IC4LM#5a8Vsu^ZX6;e&&8Jp!uZ(3Tr( ztuk%Df*>fjZhJ3bFr4dzWUqi%sIZl(Yx2U3;U%4YZ~227chAP}4=4C8nK!)4fe$yB)P-w~{t9 z5OOZGae|XHKrLz-T>MT#xZGkop;wUmp88t@U&XNP1?izJ<1}@gsH0U<%@h z?`gqn}i7={)bL)P)Sx0k!hNpl8U?RBmfJz9b|lJwdvsUO{5%Rbw>nS2EGftF2q z3f0+oR-}jEjxA|buRIq+{kA2ZbO`!aI?9hesf+5f{%NlL_w_aDMJZX`8c<@Mp@ASg z2+0Uqe?Ok7)Tkx0R*%Zn6fe06_?V9=!)ozj`?+p~>%nfI5H;0pdbM`n-(bIfdVTfD zd|o0jV4Z-+Z&T(&O%l^;kq% z5WEF+$NVtb$$a}ED$hWHXd~%eLk0sWjdB+EX9TmJFa2tNvXx$x!LtGC_S+s(K$*?H zV*wiHd+aC>Luc@HyN==A7S;1!3aCNP{r^~Un!ha0y4;Iz9xtZiMT^^6nNmB80TtV`!aPeTp#vZCSQ!F zmV`jPWI4A~SnzehKf|^T6X8Q!!yS5iENeenI4A=}*l%QEJvQFhA-Z08lqCdR^Yc*~ zdss98O8e#fB<=g_k*qfyo35&QRXsD8Mn6mAZjAJAQF6 z5s16^A^WPeiye?nm?IgF$h3LF|`Ql+d+wCJfzS^?I zeBRmqm(arz2K*M6lDi!`%Y|;p;^p00DF ze@wNQUOkynW?ID;+otouWh|$jtOw?&e7ldi+qa}P@sC32?rh;?%$utD!FJd0iNFqRq8O-4tzJ+mSsa`@zc{Fo^%H_M~l9h6- zutS<=z|z}Qq(3r@E9E99N6B_%{V>U;CUnA|X_Bb1dS@V;cXYzY^GT8Bg zm1k(3^>n8&JTlymQWYz-8)4m8-+;=p8r@hO5^4$y-9ZK zOqxxV-aZqnk%g0>P1DsT!@^86#SBL+aVUL=-XW!0196-pjNZb>A}mJS8zNIrd!7i5 ztgq9IB$rf@@K?$`eIy5VgqrphEKMJXg4)hhzwF@xP@UAY9~AQ4sLU(odfJKA(zoie z7!m2C{IC)CiaIaGzN}Xv`LOH@y$sX2IPZ1<7aL9XLf28VF$hv763#3x| zy>8F&j%pVNeqbYkQf?_s&&FSCa7~#@LMy{3Wz`DacsSWx;IL%|6JSHeq#@q7BHKRa zfd7`WKyvq-*r;P;l|w~+i;p`sbfr8CJAJ4>%Y5`Iyo5!gt=`@by)lMjGMhCR^M#tP z`yiDX4lbj*tNS=OzTb4G$>FYv?lyME*Qa+kI;M)2mHy8|;=XQDUoYaa3xA%E5+T5ddmUrtr#Ja;+Bk-#SSI|g`zfe6UKrRN*d;TJ3=bQak-BM| zxd4>dr9)2KK|JLq85VHpOiRg0&h){pzxjk3W2ureudJ@+!*rJl|8(=GE~_PkgY&bQ z@et9G!T9kFYfBLvca<%y5P&uvZF+vBPMq>g*|Pp{_W^qbciq!DrKKGn8vN;;XoGz~ zluGc*D)Q*$ua&6Q(P#k?^MBKg}K)kj>0->a$EyZT|oRkBR+l%Lwct{SRaI0KM71H>rC+VMd!fC-&TM zqcY2XEKd&>TWVx_OzA<#L0XUeJ%DGAPx33UCn3n&yyHWdODD zHN>27@6wdusg9S|ql{lpZd#;N;FSJN1635!pLg+qYnp|p+1O3ZZfq^{T|4#dVEd0}+iWZ6?_3}+$ zRc@Yn)5EH+!teOJ4VJI*pq#Hp+|*}l1&L=|B?XP=Yh8FNYM9SVTFQ1m_KDGIscoUe zxL-*r;utDV6sqpx2gDC9|KswfJ3AERb9@tPz`!pX|7GhkHjTIMj_v zv-wvMmkZY0+ei3gmoxX6aokMm!8w7=p#Y*-Lj-bd73;{@W5gW%$GjQOy+zfbn^Rwo7w)YvTEF-{^p7q2 zM|@8iYmTt|ob*pkh^@@zaownRlpsH82!es_B{EPc)kJz1UPGXYL;Fj&sT z58I~}YtE)Vvqk=_2j8n^=ll)X5IB`t7tVDqaEu3UV03je(^IM1Yui8sR-l=U&f}F* ztf{yS5%Cl+a}O>*bhM9oKCk)3k-44n=|s-x>cJQ158}Lc+jk5azn)LENLZa6@mY99 zFSjy4RE_`%!U(DFU0iGQ{-iny$E%CTO%9WKy>dRw7Ws>wTsDVtV~H&U1Fz`+SlX=% zxmEff&WS2eHp~;zjn+16NTi9wt8IwmHBiN`<~s;f{R3(zpVa8OH|6AQl~Zsa``B&E zOLqE~Uiq;7kZ~iFIh$$G-4!_@a`XqKM6%Hi1G5auy80p5j)2Y2f6FxPl^xjXuN=#S z>FcFF-E{v<$<);cDi9tOE7Zz7{V4`}Io$h^tL>gUSL=P#OUVnpVC@WCH`ZO#+E`KyTfViF z?dCDhD#rD`_0qcrwvmQ;#;-Ty;=&UflTdXUuGvO4{ElD+8>m2iemBIETK#9B<>zz1 zvG^UHp5L`+m?K3AMHdBqDVn+WJL|qBU&*kC%>co|T+n{B&!OXvVu^MCG(PuQ?!HM& zCWQ$exomMmVS(-5h40}t{^rEuu3?e!=I_lA|=@m?>2Zc zdxkpjtl*ceZGAqIpWrnJ$B-n_kPHfKxq@qf3tJhemvpDyOPhHAcE0-Nfb}~~#Ty%M zLl)xC+)J9!wO3_2R4@B;BE_}3bOWZWD*(0**}&|%uNO9hz>5pyL=9-q31lW*>fN)K9!vJG>V*KQ^7CTVF&^j$&Kx|#L$5-Mr z3+JDk>(Qp$pQIE~)ss8Z)Ffxlib#^kakMCN;6mBmml<%qkSw55IS?TBE0m>6c-pMi zWZ>P6-Y#XE%D~9!Udf<(9A0PMz=Fi&5fpwAIu4%rs$bFM!jUa8lC>S@Wj?1QqcDQ@ z`CAG(UBam(c7Yd>If)5D9v)8b0F>71C&>*huRLa!gJSX{AdSyo}DgC^2dy=ihYa z;p(ZY3;dE72GSmeWtN`Pm;G810tecIJ)x4~uqt?A0j;sqWW=H_6l;GMq(TX($?A8$ zfQ~)BE1A}IRq)N0Oy76ay2@%jG5-8F;0PzMt|0UWv3ksTDDwpoi`CtY(QNYS`e-3) zEaUV1rk_lM3Z%+z?o`h6lte4ujtvM8PB2w@LQ8oZ~FULt_uf+^N!Yi8D zFAKZ8B?d%mo19KBZ0O=)!WiB)ZN*ip9-;h0NNaGK&*5QxCX|o-c!1$M+aoOp=={p+ zD9S(z4470rY<#PD1Bq5@Gcg=#Wmyo5s!yIAl%t_(2PH$lbaFE$vW5>^+@b|ee)Dmq zzS^3|s(kOXEiJ9q>GNpPufwl3Cxl+;p6>T<>FaX;cKzM`%|SJZV#o+qgh2ojCh5`q zS#G=LYIZ6Bak~5>zR2DvQB5E6IINHQG%{>%Z2h;FCa?)-9#Z6hb}eMnQqp;#T6U33 zH?^m}M7u}#=rX3%`Ge`AA=Rpso>5X`lT8|2*yqo83*yI9ZZr48$?f^@pxqe~m09Ho z|FIkhXvQIiIZuAyW$ifX=~!u&nSiP}SIQ+{k|1v;OYWgYBx}~uBS?n7KHJM1#&2Cb zMlx>m1KRu7tP50b#o4(knHL^*> zrkTV6HqwkCNA8X_cEkVyw|mmCFEs*_z%1OU4y?w9k-nE+cNwN9T}Qgg20qS~|jXL<=9&)3j!G#si0{#5^zp{m?W zmL+gy8_<$H$T#ftyunB?b57;3Zr_>Q7LC8M8pbxB zh8NiBMuAr01DGgg${JH@Z(Z2Cgx^P7044dF9Vd1*u55L;>f82@-L(EvP%6`N$%jy* zqkQ77HkWT%@TKip-N7v&ZD)t1shO@&N>bgWltiP@MTWVA&Z4W)y$Yv)*N$a9F6aqi z313S((~R@FhVd*ic`1iG-6a10SCF+nP=1dFTgjoI#DiT1%8Vc(Y9WdnR?BYi7$ z$Y^L&o+_M!VL6605StZl_^91wCT8a1%&MsX>c)Z8)yg6JCfJBF*d!TXwWHp2`-`r0 zHW{+3dHp{Y0OgkcmYvEwtrY(UJxZ767mQfB<}{|GISK_n+v}N{i|&px0}g?JmZcbJ z{c|~D!2*1)fR*YIG_+=hoE=DSJfLo-GeLY7OV(qvGVEytb1fFx4L5c60M_SZk^Fxx z9RG&6v#tifwH4}pbU_r48mh}-1piOJ4R6RZb~ow|%a~9S^oX*vBh3c5l@;&%y7E!j z{f0T^VNM=UjM31lLHndGc~fJ=3nVh@8=p)4SQ}j8U~tO(+`F_7%FL2>@r(wuFTS+W z=Em`J%d{sGiESgDPrFKe%TwX>oI4Y4Wy8I#JmKu9zdB zWOqFzdFp&~(Xo4Hq^efrbhTnuOGdLzk)qVyj>a9s4N(*rL>gVC99tdq|Kd~K8cy^P z%r>43R-F=ZlV}dY>I|l}*Y5u1kLezS=gifHnp7EA03Xz3lV(nGACGsqTJfkDvi~dd z{eq=$?CRW5jEgdYu==}4iYd+nfHe)jDeWF^^-}HnuO#PUN^Bw=_I&mK-?Z<3-`tG( z^`SWnqqnv}Tv!euSa#@t-ttMiU3Ip$-M3hhr?OS%T0w<)>><<1rz5cV$@6nrLfJ#D zK5Bt)->AJL#M3uMAn)5kSrDe3vSE25W;X|#JwaU~p;F_pX)Q~H`(L6~`d@TlP=kU@!FqHM(eExNiA z5p`kn7q!-qLt9omVy?nRr|J*{R6BQm%xpAbJ&Vadpz}+tSy-Axh8oVvU*UiGYykB& z^;=r|{JU$$N&YEQ`-|1Es~G|!9&1xl+1n?`U6n^PFJ`tg#Eb%p40jCN(%f4gGc`W` z-X!S*dr*hi^eK>U7iIg_d4l~~ZT8D5=c>h%;$qJ`A+~@Rt}yb()++(u*@bVBg8L?L zW)=jjf(DQ4ZRW)i$~BnI3{ewi@mq7AACCJ(>})~scW~>VJ!U_h>>Um~)Ueg!?X$8r zP~eIu-<>wRdcie}sM$2PmERgt}KU8LFFNGY2 zpra2%P^5LhGT=&sA`kC7`gV=CRoyRsPi3o~jl^sq1+mG_#4N)IdQ@voK?J^^rjdF@ z$j8&x)?*!P;0aj?fgkX)76ka*o$LQvoa~aMyYN|uN7Ngu(#)F?o8**z=1TTmlgt7H z6Vn9GS}K-!CBSh`4m#rKj@z@fC!TQ5Q;{z`EGZrWe?DlLU8uV=Q=9hSvA|cZeW#pn zadZ^0t;z(UT#gA8#?!;s4y_1TV#eu7!ZRo@sw=OmZC!2me=HtTq`nigw;qF|#ed4w zzT6pj{L;lSvtLc{eBTGd)&XUnn|?miP57$*ANrY7SgiGKJ^C*bt{gNiEp$2n%$>1FrLRjZh^;zL{qSi;uX}i_SQRtp8;pI z&_y}5GF)n+(|$7Bn?rsT4x<^(xART*&EQNbV#LaCG67Ws9-WM~o7_dURLMQ3T<;X7 z&V0&vy!8O$RBE#D^Hh7|+1bZPBV4=QYr~VB5y?^C5)eP_dx5RqU?kd8eRugJMD&kt zrOXxinw;ePKG%EjjUKI2RvUyiefH!FBA2<-t-A{tue}C$R3V-dLdUj^hNULJ-DTt$ zb!^F3T3tjtPOH`yQ0p&{@#R6rPZ`*vU&tq+sGkk#s)}baB}or^0ZYNIJ}LjPNZuyB zs^G9*Cg`e5(2HUOj{uDvWyx#Zf&P_4LJe-0EG8UIot6r%x!h+}e2;e!d`B}p<5q5B zMul=OT9{D-AH(bXCWFDo$#V4D)rY8~7VSp{%&Zh0ZY4L&H|;Mwx({?8M&0aF0JgsA zY z@MChMLRr-suJ}V+UTiG&aR%(rdM ag~>?7JMjCmKF6DjNr4oCwhgmRhB=^STE&T zUupD~POyrJ?nB6w7mdDl9Q`@R^47Iz%N<<;5dhCA68`?#`>{4;@%oLCZ@)&ernub2 zoCj*Y%Rc_B6SjX@-nPP6E>~ZlZd;CPeVgF`}3FtpmUX*upYYOObgg20mB zC5k^hzTLO3`l$9-PX_=In>BQ|Ov9GY8?6DrC@sauRk-XPq}w3IRo(o%kUV!h!889ozGC={y__5B9o-i5x)P5`(d21m)H^UIe}qWv1&2-wYBh7 zu5ej!z%Z6VFf0~oF8q0Y{beNJOL=hW`Io?0mYWKuyFs;uU9lw(XY8i8P}Av_p&$vm zr8!6{O5IKZf;R_yMiTla0}P4kb{LQ0W$BX(kP@PYBXXgzLh#(*k!apE3QzrgE!6nN z26T7X;hOr)i!6Kf4U3oK5Mir^_J7U$9Rp@wi|HB1OPAI1>h5ClxKg0BHqI7O!Vc7c#rz#~zc5Ho7Y~ zYH?uOW5SbuuRlx>EHPzTcB$~`uwmiBiaopdvys%+u{sKLhH50Kn_*9l*`Y^c_BEyt zLd&fBe!t{W?BU38xs`ufXD$`L1^XhTzQ2rrs_i447r9IH-Dad#OGwV4zC007wS0H} zahEdBPD)@}5!8MCBqnr~x#?4P(?l0u1Z66&iQYO}&V_WIrSEHnF_)BWEIcKHBC)#; zAA@9r^*Q0dzMtn%^L$E5f}qGb{!v7#%E)&&(V*IYuEATgxlKJ2cSoh8|*kEhxk^nhn?hl{%VdAISKjwyc8R-#ixTeSis zF&@pl<~Shv`BFvNzr|^vNq8g-Lt$oW9q~#2i;Tn8VN(7X$?vrc4L0m9{aVG}=$9v>d)L(>;+&oSW3lbwnY$WJ z`~M!stwk#@gn0Q_x{1CyFgy!QIS?1vl}Kl``KT9Sl(ogUYe8hDFiwv!oBs;s<#mPh zlvC=MXx`-LQ(reR0tIrgH!LT@^Jxdax} zPNGs8S)w!97dP@I2Q|T{+_TI@2v=VR_d`A}xy3C$gv6Yt#ORf!KRJ$Q7hegKZ|GG^p8uZBvoUPEUxTsY+hND6lno`Y^ ztjblr50x9Ac~*(Q(~+a7WOy5izr3ZsqW#WhL0Qu4Czd@{V;^@}{6L0}$KXD+-5g<8 z+lv=QAweY@B;*)?7)dT+aLu}fgCt&6n6Oz#5+E~2s^P(OEPwH%sixbNf@i`WomM{&_It2W;2I9>LsRDO~D)TNfHyLWj#^x3|ev172x*`s}8uPgDcPl45Mu z3!U||ttInFfELo9osvwvNu9nnf&v}xbR=3__}ry#P30|?{AsXm!tR(PlsaQw`oj?V=rp0A#0ptprtz_a&!dBNObbb&w}fzyIX z@cHq|E^}uCvbELxrI$3lf;o6+$p!~41_=WKjDV$SZfl!oIaZuy&KbRm6@j9AsR=ob|!rE%S{S@JBmrg0jSOUy69~RtQ%tVsEo7g zs@@(VE6c!otzuXQZx(1%@r(D;Z<{W3ec8m?hrD80ZInV%($4XZusN;w1XsF?d%AQ+ zg6He%Q7?jHZwT&)IfmtUY~yDr6N;m@NI`8@V(jc~RrE1?$r2K?f!XW8e|ihy+4D&xqP@=}v%Tk*Xk?5A6b4inaB;Tp05Uc2xR z>Tr~w&wpL6)y1s|jePgYjqP5Rl1uV<{2pR2+|%x5iMI*Yhqx=aM5Vun7`+i)vb}Fh z9^Q0C6Io^OJl8;;gAXGOW)vi1e1A!Do9ckORtXQ^WR_;lJWK19$hQ8%_}kZ|ruQrB z3hL46zSX{-rp%x9^SVk17$J#?S!McwD?SeXm=D9${x|qUdOUiHB%D)L+m3({_ zBuDb@7-o40MfgYX7EA#5%c3U4TBI|Kt$8vuWqllq4V7O%nSSuPEVA#Ck&cf85C|ZU z(we+bxLyR#F(!L~4sI??mlMCMbtT_Z;Af)uD;K9aS^tc%gxi;sxCJ-X#YKOcWOx@} z5G2+a`xs6xZlm^)=ty2O2$Cz%p_Hg63Mu3DIW`42cGL#CFMXSE4ML+cUcT~fSvjxv zU6<44?|&?JQ)FLS(4TU>eXztCxgk>_NOy9L&hjBzuLgHy3e!z9CJGLtF!DdA-p0Db zuYdU{-q`;)OKir9i(myVwi8#9klEqk8B2_f%N?^?MyyWanC0t*96cliJw%SFDp0Gd z9=v^<+bupWMph>$=ZX2lGf}mOxLMo9wALq={=zhdN}^Zwu1u+tAXL|2UxQCuH5#h9xHzm-UOH!Dhf!4}A>dT|Wt@6M zzT|$&Zpos(JfRC5yPX$5@hYvsSVhm8^J^fNhX5hrqNhv8ytrtrYl)$ zSghIiszqZ~s;)3;v^mwW_YgK64c(IN_-SWTN{ExuYcTclIhFR|pNwCN%JtTlecKOo z@0PQ*S8{ZNc=)ma)CG)wb5Yvd+xj3V6}>St{Gv#o1Rq#hI!I(9xQy+!jpI&PUm8Xa zy34%y=GxDkFM+3|*-l-L0}fkG2>96U+7OOIP(|VM{YvFC^@-7Xs@C#rco$D%ls?*1 zD3(&2DwHc6KPc8Iko+l(Vh;wI$hX>dm z4oz6xQyk>#9&~s$`%v8+MnbmGey@KLmh_ZP)Ca&Y8wij3YGAs7@|zIY`N^I(VBhy| ztpa^cji{=2-d4pkg>@#M_LyZN65>hzy;`BPjUXX4*)+Yl$i@d~*p&9&kPmbE%;QBjU6E#Y;QYiOJcA@#e;t0WP88 zM9UHmn*t>%U7MP@hufYT6_I@gUO07b40-9{2-G5?t@3F_NRb3=4@a8Bhf)B{sr!%N z1EHAr?qgBL|9rpPd16~v=Yf*ZIjMrlUtAoQ=i>Uw(b)t5+;yIJR^_;FW=RTj)#|_T zr4vOl=)PuT&pXF8o|#LKnXj`!i$F(P=4Yhek}g?Eu;~uL5m0$TK9G}Ww3q>7WMYVi z;RoUHZZYO**8APXp{GOYVRMzkW1}tKH#0M`CC4cH;SquiN+V;%!hb2<@F>~>u;9A} zN0AaQAn4^L9}GUyiAgl&{bLMYgA43X4SAPpo%r= zg2ze7rE5gsrdw?q2qAZ%iggGR&eBr#O!a61Z$|(9yDj= zA`!#>wP(CtNGZ?#(^fT#Y!1TwRm`*HZ6hZ=`}Pnh%CX0=?g;anhVD!-_zDaP@!(pxi!ti`Ea%$R;S*30|pKQ`;_ zA6nDb+`9cVD;yn%io{fIOVV^fg+;FUPgrGS!L7l$q-3zpP|FOsrSI9pyl$(;&OU?2OK*NmG z1*UjsI#zl$!@qH_|aT6oR=pmy;I_HS*+UaV+#yj#g#Ic?2jqr_< ze;H$>_xB!}oR2Z;=UFO?_-1zkyL!I|n;sKf9DD2m3JTP9axO>|sncEfQSEqq+>8Sc}PouK66{`fLi02PcpN@k__1 z;A_z;?rMCGhv)1#8dC2Vqi>H!19X^2%e6z^8@)eA^wg?g81WNt29YUJbN5N-n%tSs zND5Vo@>2vgL2|D+Vzwxn`%s zKRLZy{b+wR0Hgu9aScRlSvt|F(vz|Qx}cSh3IfcM+xgh|BDeip=lCn;A6vIeDeg#> z+P#Gxwsgj{#)PjFoei3pXfo$m*rV3h)K)zmiuT8EcH`C6)xGOE)FiD9HAxH-jqJGE zeO}}W&ntGJQR?PN&hdqlVNA%o++c9L=|X};(&g05h^-=+zoX};fAPN;f`!5*kpTPX zlcF&-gnVD*yr!{Dsk#Jw=Q(lDuw=knaDx~9rd_I0Pl^?AfD5mO(N3axQ< z6ondC>%1t0$2e*?N9*|bI2SNb-F)A=m}aMUp3v97>v%Q^W7GZN(bs) z(Y3}3Q$fuerCmdWCmLD;{Eu(74r>ml#1z^7a(}##TpcJ9x`7q)EwbO^xQrClBr$)s z?Efe_55FYaw~g1+da_|zra7{5?{aTj4m5Xag6NYQ%`GlO%Tmi6xyzXYQ4!4nxRBhr zQ&bYfJ;6P2p}&{+FSzf|=eqCny3Xr7j_3dI&*J~zHPFZL0wt% zZUZ7?nsgB0gTxoa%KtDJIqFJK=j740_=x7nEY;@bCn(_Gf8+FKv;E(9E{1eodffVk z<^Uo7Se|u%s?(YZ8A+WRR8>g90JHE?6^SD%pj*+c3&BknLWc^0Pyy>*RIIOEN3=dL#Od9iL( zApqn|bifQpM{ahZ;AJlI!I4Ael4#oSMa#+$s1Jykc9_9IAHSHSj;M`+F#w<`UY0q& z23x@l9o@5tL-V-bXtP3FU0;73BRKDApFuX@8dZb=r{q@$@3HEUL-?8Id|&7c;X;@L z0Sd_#S7g5&98T`gD76mwX(AB2ajms8sp_7S@3gwtxqm&#E%OIbma3K^2(i*IiQ5um zJJjtUTID#8i^d!K%i0drq1C0Fu4}%pN^K<34-3t3tYlX$^Q}te9p#yMT>s4jqpd6} zyk&g3v{Rnp=0aAw(7+;%WW41^Eo>FM8G>R2`zs{6#kgP3+cP<*(&^t{rm8-9dvheC z0o{v!`3gLV+YeX{_MZ#$%gIkK+0lk&aV+!}xKGq_>_sd%_A4eHNGj~V#DxZ}?pLn( zHmVvT4@&d<-lRPjGM{*Dv^oB6R_DFWNY+}$e9fZ^X?cUFlxa8Bh*}4cj8>#^9Ebwa zMSZbnY%3++TI6($a5k39=zw&uAkxYky-BzTfh{iP?V5Jr=&-wduwduciT2NGydHSj zcDcUaL#*4YnCC;Q^NHOy9FK1sppzKiM2)r#;{%_US6q zpz2gnF4lyZx47su$lA5+;M^(O^XbbnxmH`}GheM<9~+VKcKpxb&4P}Ql2IA3u%`1# zMt3~g-0JfkCvkt*md`VMJ<6s?<7%oJbSB8FyGK4~>IHMne`Pz5LoRmDQGB-S&FBQM z-8^%ic8K5}U^~&=P-k%juN`W>lMo|w!SzycIBIp5>aD~!&XPW=uz*@@5%a7 z3%fjuhjuTYrkQJ&Tn(#HGA#q7n?H4O2De8}Is;8!&DW zJ3QAq9;vG9Uv1>kLmZkK^s9_)0;8$I{kTulL{Bfr5h0J@HCMSVkz7~b3#7+|hsn>* zH3bKc?pJR-5z=yGWKUEmfrMdGHK&B<)IQPoNU@Pt%QOSy|7Qx5Z5jLd#ffQD(MEdd z9}lfZ!>h0QNNiPlw?6adIh4mm_&m=!?oz+_XWAcs`EQzg>Vk~*o!Ukto0Gmx)S^Nv z$lRm26eYXk`rDo(0wS&bEP9K)kYA0df8DYA4>?$1K;N9IaZu6PqDcBSWOJ?2A-g@J zK-@)N2CkuX$B)(D+R;t{Ydf^CQ)MMnqk02dg0o@`_T)qXp7^d=<#hbW<$VF|89N6B z|E)IHALMt{+vW6N)v)2 z)DAvuI>AP`;lnwzOg4XQGCrBB=&bcAZ5r|gv$_{h);9%*tND{0_hbKkch+&De2psg zLA)TdXp6fn3DjfoXc0r5Gswz*yU~QLpVqz+{N=7fzR8sj`O>Pl`GJ)>1=$O|C_|orQG_r2X3K^u~{4|+lu{odA+9>?B(4FT3daw0^Z0}7D`NA5}behmt z=78M2R&+kwt3zyTl(iY?7~?65uT5yUx4=h~XQixRfGbR+{$oYg`9pKNhSv+w!CMCm zPzbW_Ab&1i%WP5g)mC2Yi<`QZpOY^QyW$>|gYM|u0^<7G{$Nu%x0yu#pr72woZPoe!gQ z7?M?*z^*c$r&YovSXma-wdBCNOG~jTc~V_AHiAO|ujP^^wU9DvohUt@>jaI;*Ch#M z4zHy9`|_2Zw;H^@oh+6t!Vxy$v6ltVyDX{fQ7)|1SQ(lv)Oc7!-!6al@y(jNn0mKg z<=VeUX$9NLoA4vx8Zv*GHFn^Ma5Lhutlf<1^yZ1zIV+3oox2;RBlPLV_dA9c@FOyX z0a90O!eyA!T8ArBoWsHYzB6B;(3iK)=(}7#1#>D8G8{qnqPA zF~wN1WT>RpBXC7&J$GVg-6u0<4K@pgbucD{557+aE2>gn;YLKf*{2e(k-<@Sj_(E5 z$AF0$?mD-tr20M2Bt7pNzaUoHY6CYg<~I17EtGjsGzXUSC zwi64#m}i;K<3&c%0fqhia2^`Gesig_`QAZdVX)U!Tc%8Y5rs^{Wg6#um+%5A0-UR2 z3>q5U7OT=dJn9xPBhul6VOG?|M*M$c3)miQ&4F#31(i?Y4s)^4e2K3Vu{r4SRvLMw!n)Mh2SqOn=_$OL{=5~ZtdN3Q7F?LHQ8^9eSY@%k8lRVgSa za?T>1`@Ln%n!MWh3stZGh!3i86CvKRzVn$ULGLyVFDIK~P7pT6Xn-O_)xbNjp~SDv z__N?)O~=)-kQfe!3D;1SV2d{M$RIO@X=1If9n>~EcVhv$+!d(-k;#0H>C`ieUaIgP zWK9Hci17RmONjFut}t|N0_i0)5^o)%2kWw2s$fZ~mXEbReYJ-q!waS*<^KEU?_lry zE`m_DBPqdS#i#C513MXmgEm(-v(CIKd}Vgsfk9IygG;RZ%&jTA*ofK-b=TtOcpH_C zr(L%<>@Tz*WE$tZKsKZ`rKb~#JDPE~-N)Ss(k$b_3EZTQaFbR|p%ryJ_*Y1JJNLMz zlfBZUjZFBbiH92A6}E09M7He zxb{J~AqiLMb%x&rN7}p2)gR(!VI0Itx?#~1z^8^5J)LHFfFgf5edWYsedF=rR7I}{UhI%LE5hTzdawFVQV{fFn7YO_EdNODUh`Dy=I7w`%&m&mKNW^ z8h^(xh|H+Z-{S-BOZoh)Te@No_t!`Mo`6b`oTK%%pV>ti!%E9uB#U8~(Rb9?Vt+$g zu`xi)FZtQrr3ByK_fPH7ux~-eb*2WZ}zAwJpUgBKHwaP3ic{ z!Lfh!-eMkfZ7R?S#1((VLvkz(!YarpW!DBtH_%}am6wNJ}(E{IBJc?~wYAED?wTFWOHOm5lv$n{y}$Nds&U-8vQ z?%fk#mJlSrms8qXh%gQ6`!ZfB)3uh@)~}>_#UN_U6uF*ey!xSakIyF*=4&(d(S^ER z>4_aeH{{%?C>#=YMOhtF2Lm^8pG9qMT#1%qmoV1XJU-E8+o3%x;$irupYUcNvOobf zYo(;;H@V8|?HVf5mq(}e_61%Zgl?>*4>i@iWAfe8RENV^T4Hy{PaQ+)X|6*w;_ykc z-jAi2RH+d~64ipXlJ);+OK@ho;7=)B=1GRurRU_2lrww zxZidTf0d`W2XSMbz?gkDd;Pkq@2?i}r4Uv4RlB@c!?iT{9j;HRx8jh(o_nw((Urr$ zTOJEx>$JzlV@>8{ItDv(8b+9AsV*@wU6s+f4-YIiS#i&?KRoyRstY?h@x7~t2$hnXL>h!)xKb&z&7OBNFzvlCNM84IOQue4t) zr{z8($tsrE&C>AsHYB9hsv$6_L6fh_ti_?!VUt-ikGgCiqtP^$oR)=OL*zCf zQ6op&{Ti|}-vaD!(s0su@@I=M7-DVj740>>)GR|Er(1Uw# zLe@nLvNnh#+%oF-RxoYvXRwMco=@1uB3G%l-lxa6F->8PCjkvKp=Lv<&+OI!#FPbX zgD%(Lx6QArMwe8q(K<%|m6Y^U$7M*Q9!@wK$Oi9BngE_%gLQe&u04OcIaYa_$2G=V zu~f!Onq$YPab(OI2K&4=d#wB26A6OwWC?jK4G54kqa0uw~}sdYptws~1n3qGvY{Qh>+fcCSlZqM#@zCdX0 zd^+is1qmm8o8_gF?_*A`y!iY5Rt$TyS$4JGzWvr~ z8(Xk#hXTnW_=`nT!mPdn7GkdQs&=bK>-Eo$@I-clG_mf^;s?!O)dgeemEf*@pGdgn zu{1mT4b-fv@aiUo+F>yd!iP&L_D*t{{9a`0Xl2aQmtRkE^{jBeRX!LR0KcpN(|;KB z^zCLv9z)@qR+|q!SOjoaFu|xW0E18&++nR7#*yH*jGaY{9G`_29ADomWGX5I&IMowPe?zWn1*w`=8@(6Jns`N4%` za@uj{M|nh3jok0L+09X^NQSgN8o0>#jP}aROsOFcfi#1vs2@B3d@P`<9RShC$qQ*( zHg3%-KyyzO9q~2aG$8Ih%fXeg6FKi`*9ncDEpHoKL6hCoNEyg^4rq`X1yZ;*5q-q0VFl?=2JW zz{KiO-ZiAc3IGHKde>8EgiSN5_LETss`l&6%64uH-eplg0Hiw<(C%@V#!kK;xlB(y zr*YFekax||EwBHC+&uGT`Vh8fC3;2pnms|>&yM5?~A!72^g?1UrnpTiWnDf?8_nsdV;;np=0W@j&mV63yk`ioDAhaUbNQej4=Hna$cu1C>lM;loMr(CjL+G|zN_aBMI zU|s&WO=DTKYY=;?QsH$H2wU&+!%9O#d5qXQ`nHW%Y z0G&n|wm^9%=p-fOs0Hj+<>&ck*qkrIy;_H1n4=od%LVe(9UB1r?@aAmN4bKg$12B9 zlSeGYd${6-0eCKH6=4sGwaaSSDX%+m-ILAIaf_5=3pS+`H{~*AXO?{5k8!~phWzV;?*sTVsb4i>kxr^s7Q&d1z*&i(fRaoa`rR91ZFgb;>c}E=WkE*a-dI;g$yUw?8Qn=>fI6!)ub|eH zEj@TC-x1%wZjV!v#B$%(-@@d(*$fpsTxq{(-ZE4&Q7>K!?13PJ!(+{?!Nbj~Js-Df z=MP2AuNYQ9ijLelt@5|g-*Q5=mazuzPCpJejx>UkM zn<0JDH#Qa;{oS9DB`xg)>Q|F|?k(J0_|ehg`a*XZpeK9SDl>L5N9_;Lz_uziUy~On zRY4ud91gDY8?{dL#E^|@>xr;{#n@`ncVO375L0z4lV)wjqgjCvG6UO!IvHOZ6+Ew) zoCRSflGQKM zw|~4!T0$Lk&S9%z=a9YU~$J3^PKuJ>~gUDp|TuOxP*Lhu2S6l^(Y>g@NDG`(_yx z+-cOw*3*rx#ngrdFzpAWbZ=!!KoF9eN0h=LCIJP1JTvtN$N!ILyiGma}6H=-}3+0La9&qVrm znrQk{a?4aE-x_>$IkdnNDb2XaDV7B3nL*B42*q>ve`nqw918r%yKpM3b1lBQ+b2lO zHs;M=|Lp7!2hhQpBNuC{yqd(O+62^Ab6(7H@bJfcbwB`S4`+OuJ~sIK2z7b~{;67q zDE43d;ipT;OAqQbVd0!p_WZi3-UE2v8eGN?VNs`og$Vk5uyy>Ybf;iWejWG+A9F52 zEiPpWsR<)>xlHJpu-{cQ6RPy0QP+_4{hYcmVT0uT!ip6tWeG>GXAXc5Xv3{fhF&U_ zbRYhN8~cS`-CfElpqLR!D?Fx3~9bvCn70ImEP(i@J}VXZzC+ z=MoL}e1=kD7d-<_Hc4A{x{v!e3N~Cf;HxO#**rC!U}M02AOEkRCu$M7m_Lj8P857) z|Ni(<_UyC@<4vAt}myGV@J{w#(d-wOHNZ;i%D*GFWz?D`~vZwubO|Qv{ zp8dT)yFW+y>Y*NsyKw%Kx8Y`|L*e4e4V6iJYf@Q%tGZj`^5|W_UH37A6km86DMFT1 zx-pX=HNlD*TN5vQPOt!_!ub4K54Mr)TWS#Vd=;YWJUvO`Pc2vq1u}k3cWp{Zn}T)fwH# zgT&(NuoI62%X)87rwlkO+`F5{;L8_lD?cKvVoGwN|3jPUYjDU=!=clMui-09?E%$F zfm`1@uTi%NZCgM-D7`bDWtygtk3#Q#KpdnGwEatZV59eJYH*ADe`oec=W7&2HWVq) z({R@;sikqM>Ndsm-idO=($T&6!h_kd`P*ENvzbjl=SX}*CVU8Ko(Kg7&09}>soIa0 zwn3PpqTtJ8b@jML^C3fS2RWa%3i<9q{w?rO3P`~!4^I4hUcaN!{{XmwJ z>Uy|y_$1*cBk9<#V@A`|BU2`0R^TFp+?%t5`L`kis-o!wtsJy;PKLb?W< zr#|8lBz1JbE|!R+0VMM6Y`WvK3coLL3S>rd&yn zo<20CDV;*V29l8b!FssZu1c5ToU&I4t5mlTtp&bPT|N1=%vZbX{)O^v6bS*1_?rPH$@&i^?zelW$>N4qpM);6+* zEjuZjeKLR9JT4cvML=iFY}SWg%;mjoe0${&a&@I+rROjNQIV0FmEsrLV}zyPnSC#5 zbG`}qAXQ_u9Rw$GNRl5q6n1tlu+nE3>HP{kidw-QTQ#At{gM{izp36Ua?wdzCbOrd z4Lc~xJ9;K~3&*$Jse;X!-$3mU;Nuge%Few+S7dMgco$*<5(*<5X)Z8>{?V^AMkv(W zeUm3Ck@g~1WttUf`}#@x&^O*5=ho_O0Z^$Gvws}e-Q8#(UKv;cY!eeVcpQsem!J?d z^&ceDgpW1R=+Xpg819CaOO&-(;oC(Um$yH7fx3ZYU8c-fU3V{-Ad6>qLu5`^-cZ`o zR!1LFl^5F|ufmHt@8<|Jbk!xs2avU0N z(zlR3n~RoKV+Ebi!m31Dvhw`{7;5ojnWs*<4(@h3l>V#c-d0&WUtc-P4SZ&JKfbF( z_&xs7TNLV4&_IPOH-bj`XYbeIlwB#OXQu@?-mW((mv*{p_e~eA~5#;Lh<8k}m24j9rC$Y+h;& zU2Mz;%<{{3i1eEM@!D9mT3oJ8;>?^fZopxajHnF}uC{&O8UbI0V*6I4l<)W$aq$Q1 z^q8e;b~Rb7(1$i$SFeL!VzSBKUmYkuhCAXCUa2{g+|0rlU2fB5s)Bfp4#z8bn0~!MLGNL9NDQ+wd*0&;$1!BWtWV=Pcjui#q@2+4ckjeg0YexB86No zp4DJkj@}twyl4%%EZUi)EaB-7+y;W|Ktd#=Nn~LRWE&xg&6A^2wF6If|87NmIdZ9) z^)xsJ{KOAA4r>S^R(?Lch$)o8Ktu>A9jMg4wGw-X=T)3lg9YR#WV@Gvc#3jw24fG; zb*wDB4)yth7OThg^ZF~4qrIaCVYt9OGr6uYU!NaEGXvQZ<@L!4NwM&vjflH9t6WBHdNqJyHl@=*Y{V|5g6-Xn?{QbGTN0W@QsNWjldG@J zW#39Lx!ZLcfg-5yEYkO<){o<9I&~^$kw~FY@<$+MbS#HtL2AAmraBe|sif_=nb|bm z$>fT09RbpUXD%+8RVO%pzxp;&@;A=&{#R7mM0ww*SJ%VmEp;gtdsCK`lfl8CB%sb> zMX3lOvQ^L*56e?7epsl0#ew&`;O7T6EaxrU%wK)B+%wHGm8(S>6WDlWAm{5?OK#O}&>ouXg7Y%#hYn9iS+M9IR zkWSh1KRPYKQPg4n@^Z)cc*N?baHzKE5$?0|L^BY8b&M^WL~E+E)O-r_@x*HH!c#&; zSDDE)I~%Zk3ltnm9FnK^jr05QEtRLDr5oa{Q0G$W$da(U6lkQe)ElR0b`VjVn3 z6TfY+XU9vKNB+F=N0%-- zy?$%ut@f=?;jzj~&DT$fD7317L*i6CG1>G(bJ;%lZFnCx#`|9BEQk)X@}P(Z5Ux$o z&YC_A@}BAaH-I-pdW;hU(_a^^fj?baOJi*Ur;9UY;HjXfIFvEQ*c&2FikvTBlB9Na zcdJLpjfUh##D?99?X9-0(aKjgxnNah>0`BURJ#>xS*o(P5EtPuIh9r-+3e~Os?(lc z6XLb-3il*f(=UR(_veP~X8TARCD~XxsJelLePZdUqqTG0X9~?wT`;_Kr4cjHdU($| z_`HX><)v$p{#^pSaS11CBd-P?8?0NpIxlW)pIn=XN)(AzHnAjm9qc|fCGWG#XQJlIGI7!xG5N6+4uwM|Ww{B;E@YZ`3%`wSzHS~&w z%$N%QW!1YHd#r;LRFgi0cn6*9qf&q?@QA^BcDB(YduL~4hQ;89hN&6Wpu_2$u>T63 zlGv-5W{Vykdz^Lz_Qno|&#SR9#!h3E>BTu}*$If*kW44>+;+#Gj5!>Cmz^Z;Tuds^ zQypy&=bGA)&*u5a%H{*rRC^8d2N6&CA*2JxF1c|7)RM}essBpc@hSgPA=0R6r}0gL zZCmWd3FO3f`lz5(`qsEsPxnfr!T!oYfM&*vt#Uv8>e?9CJ>=%e8SMlBzsFRsZ*6L! zIN+FU?`0j11xu|q?J1x3E*eQHJC_-)AP4?;CJ;%?y>O5~etZ9L=|`skf3(^TN%NAI ziTkm;>K>mWZ$l=+g;>or>y=6YjcbOYHYi7{q2Q^`#$w!~!y-QDRk+&C-%E%0Fgx`~ zZVTV!I1Dx&-n2_U@$&!Q8Ap}II>>UfRZT=P(?n`aOW2(!DZpl;R7l|4iS|8a#2#vg zkMxP|ko^N82}VsB)!OA4(^SL$OJfk%@l#9N+W+izH<@d+F+2*h=g+_0rSJQ8MG&X3 z(NPjJa1Bu?pmF^ytOWOnlRudOILoqegu9uuk4=U7Wg<@CCvKIQxg9NdCTZ6ud z2D=i@lLLHXI4Q48pltf_{>FYV>cZ!EW2dQpw{ixS)n+iJ*l7)shYnk;+26*+^K)2s z&CXELfCFUIBH3FX=XsA5xN?{q&3nZCkcpGKd=f-+snWm!N@HEC_w*ZiFBeG}P>nry?f&hdV7&;&%aP9uE(7 zJ4y)Q`(D(>7YF?tFDTd&{?LHwBUeq|xS%!LZ)ExT<}niji1m5dH6tyjZ%?MMjsB_hJClyV@(R-*`H1zvWA#bG#L4sxm#ljNs# zmX>IZlnpH((y5$nmqz^U^`ggok5)~*w{}t#CiXbB6OCgnfB^a)WGzlNGxa$&f1H-7w`G&X%RStmT9K?@TtSMi&LLJI29r*tKwhMOXwmIUD#TZ8Qx- zr_z^BUFQ>-w_RI4fL^mayp&n^^EO~w{QOr*$w7Fbo-f>eIQ8nJ(;w=gh`0E+=bm*x zZ!F@~RF0q!T}1?BX6rSK@e0*%Y6Pmy!=H-nQkD-u{1#lFJKjuJnk$H^ps3wC_GKnI zccE3YTg%~WTL@fq6WF^D!r)oN%*g&r3ySUmeQK{Z%C})*Mir#hyDp3ql4cuj@Vecz zOgD3L%GA?#BByZ*jo4Z@6$S-Xk`Vjb4Uc*kXFj81G8wUo5@I`avGDD&<_&bk?#f@V z@o<-ZgG=U+p%jWos)m*D^uqVkz->qMXGL-bQ>v!H0F@k-9dPIVq;+Tr@PB6(;pgHk zM%|96>qlW-wt9?ZzHe_I>d(16`}#YX<9&5A(Eowpg_qUo&%&LqBHZULl*O)v6S7ul zuI8q3uAEyoux19{dZywi*AjJ*r&HzVpztNDky>i@w9VO(lbT zkAfR!ql3n!dZ69V2s^#cz{aM6l;+G8@8lq+vHLpRek5Qoo%H0r=X2$ZrL0d@|2!5E z0k|Xp7UHj@PXwls!3Pp*vg)vgE<8)UkY}Q`bQMvA5JgwyX5tQm))0xJBWto=9sR4z zSVre_f1iD6u@C*GgBsB$!nywzxa^2h6^3*opRL-Ch?<{3LszzkwEuKivf}=ZK)Y3k zds`{5iO{LL29pArs;j$=Vs9(GJ#{HJeKNRi9R{|0?iA|OMP2bUCrW*KlDOmzj1uME z0fd>n*bUrRXg=cixGB~)-f1=OWyDytKi5D7GR8<%^MmDuzpy@KpRYzuF6xR4CH+^D z=yEfB%kj^nZf?>09uhp%;*9Byea7yN&Tzl5q}dk|RMk!yu-5Ccu`f#WU)dP%o#SHO z5A6fqsb?TI$8fM44fPm3E-S8@UT=?k1;xVbzL4{5d2eg_;v6`7J#VKZoo^15$vIhY zbvp4x6G?W>a7A^IF^R{1r&1ha{o+q0F$5-mkY>g#`nP*yeo zE85(t5%jGV46=UJoM959m)t@$B~%+8ph1K9WbTcEZzj$Usu~iE4PHwCt=o+{v%LOb z>g&UaX}j?Sl<{%5zRXf!VPUl07&dz-p@J(^qyabNJwIr9z}j%mZyyl1=+7`)i3#Dt z;1ys_yEybh?Gc#u(8VYrN$v4Dr?K5S>3duf&XGM+t5t^ElwL8@(e2<0wbnNtBZ$Zr zV?1|v8@ZthahFWnV$HZ@jLXcEJw3!K2&K~+a;VR(rl@bTCs857s%8kCQB!k3Nl*A# zrr(P2?bVH5N%xRb+>C6Tb``E21eWaN0%jyIAC&g0MhetU+KA-)x?OF4`HW_`PlVQT zXI^oI9cw-#hunXbanTU1PB@!29UK`qXPh@$rBIGEwyiL;2#lK(D=8gL8LBN5>zU|= z^v}9ZNZUsvbjxWH2L_e(P(1lXso2>uOI-*PlL$ndNP&d|Zu zvMPi zl;M|0ybWzSO+OY)GDf>0a0~0d2NQ50cj=$fX9cLc&wTvMQh~`S$zHOqAMSbwDBdb8(j|{3Uz2%OMUn(&3u*|FL8McKBDY^PC_gfUa@cmg8T_2D(#b@3 zVaGhFWKt+WE9W|3F8_1dECpiMZ-ZK=tgkIHXz;2sNR3UkjbVs-f%b-ACV6UgTk_K6 zcrY^QlQ3sYmdMj5x5^TDelG3vHkn(mre`j1M93aoAeM6DoP$__p_`;Xc+Z)&f0!+9 z4gF2Z&VEVMUM=pFulKQ_PfxdVRSMl0<$kwn!cWkz;Z}E=EZ1O6kTCt^t@l-<1(ca} z&ED$95@}bBD&GdQ`U1VB z2_>TCFlVF)x!6R|yv~@@t7*0oR{9B$(!cBLyU<b5)}gSoPw27Lrx@aGSh|M7KJMSAZ)CP8ELe#co9>_9y7>GA z`>**1MxyJOMNBh6)V6XvlRi&rUH-{5kEDSAwHZyX5xJaDx#;k8kFRI-(pW$Y7| z$vW4DSk?x5hJdN~!4j*>_|pBQ${m4uf4f${OzXzbL+GKv zlC!mY?s|6xNTyWsRI?v^sXdUs_#o_N_CLRNcIl^ZkF1+9*@ez`(l#OvJeie_1z{{o z<-RoxWMtPM?+N_^C?1y-cl@-Pyj|a*idlwbz;)WgM_=n#HC7DB#l*{PoW^yYvVU-M@|b)Y)5l zu2w@S+)MY&{6C>bFh74Xo+ky_lVwX@@yhAAs^F@yn!?IGz~Y$Kf%^vEe-34z7YH#9 zX2K(mPU{54I>0)Wc2lH2=+C6cYGCcr#=>|+Ql20N^+L|@&iStw{W~?;59wnWn8tl@ z6Jcg(QDqx%nW=f}X;VYS@78xe66#s+I7iw3y#fxPH~1JDK}YwG34Lq%yj|ZXkEGKn zQ%B3Nilh)I&kKKyPtn;yjnLh_(+6D^#uZwdK8tHm*2Y_gD<$#B7|>YaG2?FSmQ%M? z!I7&i&#Nq^au24L?ln*1hkTevUa}e3UZe0uG)%zKF1$TdU7W-1EB5JJ_q`nU zb;8l;(JJJbx=_P%#>zqNLRvD;M5ZhA;0r@~laT@O4LrInS@k+`;_RPWe>$(jwkU*9 zzexA)09?ec!M_%GR^vQ$7*c7mlQQSs2G(x*3{x-_CM5H{yM5oZxy3p=;%LzO9Phih z^|5$*K;Rm zhnOmN36fphzPLH-_er*wwualWR93Rj=iu%$3w4=qcDx-xqAE+I`?(Vl5}h@kcCnC$K~;ea9b z6X+I<42H}}>Hy05O$6LoD4AN_opSfSmk>){k^95H>tZuD;UbGd;1Q5s*$+OA2we^v zc=HJ=;fE|BPc7}s?|b|rRO>`x)6O1Wem3;(u7&qz$>5b-`4#IuvB`aA#2_-M<#HV% zb`pEqm;)xQR`N(n{94eTyW2g#PoWSuJDfr1?zW&Hz3>2fYi#t*E75>1HiZ^Wp;9|40!cvY4aW>klV>MiDgzFZ zA8-!OasLW~{iC$0XY0FW%PD7IyT3re=A}p4z!ja!@m$o(!@@taC#hbm=&toesWS^7 z*yr&liA%37dkalwzL;1-E2zvyUbx*9yTl=AqgqSyq~?ETT+nvJ84^>-%m&|?GxOyb zbmDhzbhlo{b2hc}uG|8przRkgeSxYTU{%S3zod6L(@r)w*rvfR$jBgt@iTCE^2oe7 zUZukgqm}gm(xep;oobD@&rHZXt^rOp_sc4K3vR)t$8t(uFDD=Pzj|o6aqYGH(S_mP zk*bdMM8zS9_g!J4X>U++Kg{)M9k-6WKpFHehhE%<;&O# zDirp5l|Z|Ds?N?Rv>;1+)l0}iE@JI=oieBVDKfiwIgfLkL}(RQjCW&9y)1j4}aF{JH4K% zi=0$(O$i*n8>yU$zVDF5r|%P0AoWispaLnCDwGMgtRxNEkL;jfx?qvJ{rKOtwKb8D zjit29m{^5);mJk)q15MG-vw2#=Le<+h?Rw|G&`4_WjUMLB;gTYc)Ilb4c-I$)g7=&82C+{i_+u1 zs*hxe$D>_Ymc11F?Nh7*@}2umDweFYvbesxYpr!9z2|h@CE>hZwY=&**9?yMzOeE6 z6sP~#n+Jx^7|WIES3Z;fsF;Q|P={3Sjbf@gEUtY@1BmHSQ(z(m!=XLqp-n6yqWsk;!?{V>GXUOM$=q_GdvVSYi~2C}rnWa7i(^7({S1}O$! zsI-*Gh8PKuVNl>YHJ$GN=k#8Oqevqpq@>4rsFqu%>3JEV-HbaSuMmXaP5+o4vw!sQ z^Y!m<0S=@f?C*!)vvnt+%R36GaQZluI#b&XP{s3+sY3K$Vb%){kEDlvF%1_R<#c^ubc}VQJ)jz)=P(G51F)puXAzhD} zU1&BdZg@rQD(@>{GQ_59GiZ@czp z-Fi*c1_$ef;VKIVGuztv5Qhy`vI0H@fKE>=q~_%bY?`uM(l^4a4ghF7H?wZp&l=hs zbTVt+y9iOdrlLW=3U-cK!hLGxZhwbvFB5V}$<5BXy?HlY>LqZ&{1t7Ikt2RwgU`e# zTYy#PxI8)RT;OSX>b8SQcM0p^ROci$Yur0@%+3u^jyhFgQ+E0Xr2;K zkOrPJ=cp|;slhCq-y5^mPR$mKDFqv36-ualE=%P+;<_e(g=sdmh zpAZSHLOVe>1aa5oP|3qT?UnS-Mtojy%syMURGp?WoG1mvpDf|Y)rX-0_1#}kpUO6F z&*(mG#+o+P7#N1wgjRlkuaRCnsqR+%30yxeso}xXEeQAu4DmYe{-q~c@`mNrzS~Z@ z-$a8OA)}N+dlK^d(rD>rGlowxBN2RSY=xG!+(dFlxp>B9SdktZT~2br<*F8@54c7L zFXDV38hL8iIqFHM*l@i5{I{nvCDH=|9AMybC#^LON;`_y=Q9bi=v~}i{tD!NJ{keE0B{@q=pXVpTO_=F2ymY{BAk&zs!2$}UrtQb??l40mOuUb+oRb_dV@AC- zf(nm*qaSd{$G2RKy5-^W=wlegTt+^2G1$f)m~7a~#Htr6k=mSbij#!RsnQ7uxyb*4 zGe9UqEVjoHz-^#(m@M@miIqjwls$jOM95k)(hxTrP*!2ea98#O?$evcPE14&O4_Us z@;3FJJ?Y{3P0p!k4cSsjAhoiU z@NaPF>-bfO}ipEt9}WWnX&pO z{mKLXz4gn58rS{PW;VFhQV`s9?{F5FBR5`IWX_Acs}$j!rL)OMnKjZK062lI&A%GT zf54pnF@N&g#*B%%1B?B}{IM+$YJ6h$@bKj|MQh$qz9d#1HcYdrV3O=*kgItHZ(Az_ z+r0RD>79?tcWi~NIg3+&2JaPEH=N9S3QJ;y5S-HXP3}BH^^HnJay7SN_;)%lX~HFG z;(rX8m=#>!@Bf|A5R42Ppp&Sf%9VDk)1JdZ?w7z=FUKAB-dr@Z!L`!9t5RJ>2c>{6 zjxlf5ORIN7V zQp6}a{50dZ7uOKAF)rA4=c=Zk?j=!G(J5kmrNiBea@{Bl%h2?DhOw1`KLv^qEZ%uQ z*1aYUe|^^HJBl{hX(kCS)v<9J?KlGnQMnRsavlgU552q_|@IjvBafiNN*wS z-cvS*|4{FVq6vkY+DmBL>bEZ~aF%7Er%I~6+y{8s+YPcAdI6`$xk05icI2Acnd^Lx z{4rhxQ|;^ilyn;xk(9+Syyqcicw<+k^c7NdJrkdcr%vr13E*y>pCgu&~~w3>}W)&Cu=1l z-V~a$Jznx!BK?^AKZ?#fAgR9#Tl{=Do|Q^Op)SaFLMfn7F&4t!|{4%_@t18^5mHm$i&jR{RFT42f{a8B*b zgnbW_I-T28KuSQr@wG*+P{hT$CTek(6dgCNVKHcFaUqge?gpmW7)L}GKyN|^1OKC#G|QJ ztkl1O`&=iRAX0(gox_SVu8|Y4Z~O65=#!Ry-`p+@JdRok)o|SHlWLVmz0{o7O;4cz zMgNU+`tCn>n)IbN${%*BvHSTrVTw$gHVSf|nPIzjGwMWYb(ebRoTJ`&!}kz$lwKVK z_#)M`nano6e095wq|+Uc_j3+zvUu8vP++!Yv?PMULY9|aRA-F9c#+2--$wg6*&9X| zRT8(K=ApG1ro$nyj+)ljui&87=H=r`(wd@^`-sZ!WY~t(>bhEROVi`BPnEN#os%!0 zY!J9(@rTDLZQ3};!of)NIVMY7JhKaRfF6S+o;Yr*(Hm56CLX^B&zMP{UJY2Lbwq~& z1tZut&GnHps};9Rr0juXpWKoCzhPC8nNo?bKc3q0Oq!CGVe`=qyfyg-W+oYvd$_El ziM|=HV9*8xs($|rQLk}hERyLk*Dq3{ur~R3IL45_`slkrCR1iDuc!*!EXIQ$#j7Bq z%t!VAZju%UHx2|TR|+dz@<~+82pdR%%5nQ9e>b|F9AaGGmmA0giOhOhB%&kJ5~h0G zeh|pIHK&eCQ$qD7@jUl;>8`*^8wo+zsP2iE$H}&^L)}R85J9%oY2~Rb(7xd9i6^uA zcQqX~K30FtLkQXgKbo@ev(7TMC&sr9my4!b1ch%KDee2~^G7GQWjt;;B{L?s3a}De zOcV9W19VEb3^H<26V)Hhe9qUflM(XisZ-W&-WfJ_E+?C{tZy!Qr>1WgFW4A0oMb*5|8ICR?9q&FXPhdwIbQZggN|9Q<( z&CK&pj@PO`P|COg=&8~3s?d9IWq&WbK!W3;hQI+#@-$>?{~g1p#aM&Jf@_i5KS?d& z`yq8YS;3=k!if6ffbANcq`4DiHk~^LTyw6W{}!z!ts*MXwxrW~9IWr2J|@jmdt78v zMW}ZIeCRNK%yV^h-!|&U6Z^!25b3BN9+Ld2LsKFyRu+L!{Sf;uikPZP%-gT8Jx+&% zY!fJ^4J8M(yXNfJJH)$Ulr-rJS$)>C$3#r+=IDzfFL+3R=e8~2-C=X|iqpMZF;^&5 zhfktDB1$01tdYw9=(wU!f|bMw`zbk*EAqjnk%+EfqVD(p=JfYALU#9KnA(m+WD%5D z#jZ>pDEQm_PiMZ%59JRQFpU&2$8rfdBUx&NCETnQ-QE`hj|w96I21&`ld(J0{XIHp zNO%5sORJ>(ac+e4X2ClMhc#)9kI6PPtK$w$^?qFy5Y3YM>*Dl`oK#qk&PY||epY!M zO%Y=Eua$kqxLEYA!`j2VjbIYk9}cSI5w%s=P-C1LIOKJ2dBjQEa<%8vw2@7gp@Y^Y z0ZhjK(T(jh`kkkW8MCf8U_j*+n{J`s9<^R@%-90Fs$okWDea07zop><^_m(5$(58Tvop%p(WQQmOBMXNt z6nT?~kA{C*QGUVwP=CnNY)Xl@F;3_017t(oEFbQLM{R$5tw|P=o!1YgTr&DB5und)x%{YMqrQdwGCSj0`jW#;&qbXRS>_X=t8QX4J$we`xX8=P zT|yzE_k7cE#YP=nQ>$aGN7<)+v&~xD(GQQ$u3|z}H^`as&`c+7-En>>S|ZxR*b0v` zt2#xgKi*QqXn_R`N#&CYW=O*`ZgGCUb|*3YJII3B$9&N9_V3Wqv)2h9ad9poDSWZV z82N?tFz?~B6BX3>VFku8DgC%4rwlH0}H1< zHe-nnpY9stUi1ScOC@qT+Jj7 zd@N_NVez~G?6p43m?#9;jUNjI;-8@7x!$w#j;* zp#-lp@(u7Xka3_+!rUWzfRKBgMWdB24QXxc5~oCSAiqhl&-$aGk{Df04m;~!yoZ7q zYes=ZYUB*lmzyOst{y?4OnFZg91zDd;P|Zhqk!!2?2%8Nt(8dx`FR#ts=Q_me@hjp zQqE;LF5KQbRM~WZYW5zQ$VYA4@$xgOUXke$$u#4hv3MGH@7l-ZNd?j|@%Sj;@1v6d ze?cyJm$aj%vJcsu#CL3vm_|DmRIvH?S}~DR?2QcPK#9O|u}R%_zl#;iw|XY}!IgqR z!EsyPXYvgY{fhzntX^pur1^zff^TpRv3#-Y0FUKftVwH`-Ab=smWO{S4$e<^GM34A zmk2trV2YBG7#SdFj1zQXHrnOKOU0pWqjwo4tt3RB&DY1g;)qC=Tv;J?Pc%EZTKSR{ zHFAclzT@(|w2MJNg~FB0GsN(j?+pe{@-^GMM$wrqR)ei&E+MYU%7bkr64{6NaL(@0 z%&M!(GW2|))TEKi##NI&ETM8Cddp9M;KT9x^3#`hgsbc`Y2KQ9K?Kh8{_ug(zgKj8secp~ z3kouJCrUeH3@xLwqSS*)0Y|T^G?mTL5_}(2mGu~gc^<=FhBEy24~-ji-u@*Zo%n4r z;imH{adWTAJ+@Ry!W+AKt{b25dt1cQox8i6c8Y?Rg@1*<8(vvA&RC{zfsid@#_~2R}nj@M32vehqDN za(i@@^r4kA+4~%l1lmvJjV)Tk#YaIOBl**#yCa{{+0n6@%*7#$D6X{0WwKicfu>p_WA9tO6# zY$~Uvw4*v^dM#x(pgw_C@2^2+4R9mhCsoC|QWudno0&<+GYSS=_Op`XTSOa+GeB z;($Go-@~AyXf6;D1;Ff5BX$+?T`z-x#Z?$SjaK%$)tpLPMx&<#=<|%Fu}SYt*o~!Y zs(Z(PRE`iHBDsSeX@$62`XTJ9oLLDjbyiq91PteyGE}8r=CDj$ zBG^|;ZDoJ9>z3qKozf67fp~LU*?dFP@wvv6W2Zx*Z<^niGks92Z2!KcNdFC5{JuwZ zREz8Av1C)@2r-@t2Gnh@oDP^Jv9Mrmx68rkKA$KRt|i5j#ih^z3T@A>8oV7@;JM`?B$bA-P@^2* z;q@+%(M23}8uVLZhH&$HJHBB2H1nPTyMsp7lKs9XVSyTUSX|p0 z2&Zj!f`5b>a5PX+I5lm|P?NTgLq+3?|!NqoB`L^#yp1f!ExOw+~E)dbGE_7Dj7kNj)6yw>h1R zO@#Ou6!~_}oAUz$ln0_w;YZ{_h-2jNFH=+|!J$+QFC})wljn#G>EseV)Ue-7+?yRY zDj%B}xA zapc-HkOQBz_{TpEeH8_rpMJk^kG)pWjS(Za3sl!G$IE3FL_n<23*pwGzb!JJ6BhJ~ zE6>j`yETN>J6WGz8x6Lyr_BEZfdBl;=3!V6_$vK;j`7#U`u8KcaEKPj+~heTiU=Y0 zZYSSceluZrl&NV3^61ff=xXW5eZ4fHgkpB%{f)adJr}SPHR-V`8ty(&)!v6`{AYcR zl@%^`)s0$ul)RPOcE=&K9ANJD5PV&+LZZr5_-D!JGr!=$=ilBFO!!mVr8WfRQ#;Ce z`5uQT%DcqrRUnI|le3yJ`Evg-J8jV*U60 zeM?tMp2zkdMq-OH^7Du5NA}_!Kdrk15=jOo0Hm!4rnpYguJ7fouEDSOGP;DmgMaO@ zsv=NyE1;32a-f<#CRi0SV!@GE4<4h|oy1RZ5_CTYJ@VP+kWe0C7!K+)`gM0XTVI<9_YKP%N8tHg zM-?;?k_Sam-@nU**;F}@4->?X%mv`Z74~X(kJax@V;V=56??q}Zr*o9Rn6xY5pl*J zZGGp0eY0i~_m&{;_*#?ST=!-eTJembwm0b6$2-pQe7vb3YC7{Cj5NA*E-_e@e>rLHPzIBs%Ii`X!`A3-9K%g_t=nFSoH1Tg|zC%UL%^&axrS z1?7tp6}04kKlAE&gLRv$rPHmp3v(pieleGSOS7I+fmIpdqFu%b8AYhWw8%~Hm_Dd+ zOEoNIrs2Z{)#fJgMNiX;j7jCq$l1fPNd7=o`I=nNlt|9F^tFd zlfCMsa&@`@3&F_F8Y?$X0DuB_U5;J0RV044nDffKzd_eht?w;OUzQ>xeGuz!8JwK4 zPW&-JyiO77f&>W;p}tH4sU=y;)O+U84jsV2<&i=BULV2dMSqEnfE`&+r(|b3>VH%*7<)r3MqAiJ6O&#~e4_U9QR(C!CdV^M!GNuak_2SlfnV(O)Q9@SfM4Sy0aO@1XMW z{pAvTRMUWMx{~vKq}9~8*ZG_Ra7!n5dKL7@cYbwBYLvd^+hIT;+2j4OuGkfL;CJ^V zF$p!k2)z6%7+XXicETT$#o{Av1}`@daWISEFQ_7+qnK>bAc+@#%o(yXj8m3rluvS7 zhEb7FeYDVeQPu8?vlJTA(Bf18X8d8a5FzfHXlOFzyRI?wXiMfx zoquM|V%+8RYxKSxdDu>YSf`dX#+p^7Ta>A+3fI#yyxb+B)W}nxiR}u~ zcs3mgEqe2{cl9otsPVnRw`uVP<^B+xHf=)(OEL2g;}gp&V)*KFwSUc}b1pSEV7wr^ z5yyx9JK8<~yIlXWq}gX2olPY}J#Eq6C0sCi;FNu?qJcw>K6#7SdlG&pZ|9~0ztT}A z_Y=e5()vj>c2erlnWTO<)L|VGlOsA#8W6h|?Zd7O?vt4sxKTduYV%yQh?9CFp#VP8 z<6&`J3;onsL^|0!;#+Qd+VK)mV8HrCu|J0KvVo|+gY3xFei8WOu+N$A!YfcS^N4tm zUXN!$n44+l4dhe)ka<7qfE?BAlVL>H?jW$({TP>9c{ZJy zQn4S$d$mocqO$WF-_C$}@+j656ZIOZFI9hBIf}#bOiO*xCcBCxwgQG$gP`*4&2obM!0s;~eKt_x=s~z8x(aW4W8D z)_vj78R@cQ;Io||5EVp3&`>(<=0aZk#@)x!m`OxxZrF*cW*F=+>nAJUC%)}PhX3e@ zhr6^TwmwFm4042%;d|d(#LG-Uli>&G#qTi?SF8~!vnP#6@!fv1x>vL*OVi}MPdj=d zOgWx({J#y#Fr-H6^a<~?Zad~qQ#3t^ljf}91{IW;>X)45V?ljUk(I8Mr7>Z{L+6W~xIx!#6J2728g_hf%8;|D;sgZpJ-|OZ z+Bj>7blV4vCt~cU4HtCiBAr9NDqp0z&hx@qBUOqrCU?h2N0-lIZyA)8+u9YMB937F z8*P2=4;~oTGKJ`cudj>^MD7eQ;MG8-lSo!v2s)+S5Se8@3u6tBopbh+RP9!7_n<~h)}zOKiP2{~EAFTF2BvRD z%VBD_xa;UA>s}->VW4yqiN8omMKFZzC{9s_iQ)i@-8wpL(j4j*4I2Mo!SmcV*jL;9W@*{i73>e73455>hkrWPgu24GJG~VbqRpc zf!%y8QLUXoN4G!VBR#RZw~vstejq=80LCF2NqddnFkdtYo#iVT>vwrSL<_F}S%W2Ty7E3%Jo;>U4w25=)Dfi(_p%I04nK}} z_fBO^Ho~KIN~1)6-As*$n!;geU12NpkDkamA8OQr(K4-9_#(xnj#B|fKOYo?Hoapw zSB7+Px>stf{i{dP)KC)m;;}V@&YnWAbKmG>hx}vpc?Bcq{$aFg2&v$_k-B%VY^qu# z5K%djX5zji_tiidwRS+U!mf|N7M%WoYks#62U;GVIIkAK-u<+34jKirvqYG9TA{f!J@gr-6bwL66s^O(_SiEX8act7~0AB;uLs<;Z9KGONb2)8!=; z3ErcsJPzYgzvg2wR``5`T<89Qmhy=BIPUv4(xP^m9Ut?3X#Je$u%v%fP0N=71PJG| zwl|T_7UT5_zk>Frehb_Td0{QWPz47_ski zxOJlHbwFEEx%-7olT7&pzn9oL91?${GJipNbVj}m?Wq{4Ww2@%9ab6Ldr6poqB6CT zx#1Nbmc@By;APr!=2|-L=VM{ zclZB=+)@|y)G1Q-1*%nPFXZ41< z%l8P*eJ<9j0PG2mCP+jD!N2U^Qcn^!GoZC~!AeF74u>I?HJOfI3LX$7*WbVma-sk$ zXTe!a;+e|P`9GVCC>q(qp3L(otGn7_s$OKP>nRy9<&QwzO5B^lJwp(}jR$8! zi<|orgUWTCzqmfWa(B(^!Aiw@t(c{^H(PUvD3$;4+P2D+^%9P7|-E>!(IK4kYpjlBzWeo>;s+sY zTBiPXSYRLuOPdotS*Ubu3Fj)(Szm1Hy6BU|7*_1)v8jJaQ$O?4$fv5(P@ZT?yy4&; z$G6yC`4)C*p%O%JdLwj9AYy;D1nV#rta{UjPbz1z_&P=bx4bsG0>D5Z7RfIT^*0MU z$@Sc5_f67t*1J6w>J>3k*s1y4jh<`ZwQT3qoNK2h72*N5v<~enZ$uQE8G?f26W;u@ zX%d&9t{N~|c(xKhqQV55Xc*wiSB%Jnr=-$6ccva&BiY-Qh*?3hjTv<=P?| z76s*HYZdiy)->-~|CnTFd$yVyU}-UzIC=VuefT~-DP6d9UAH4Wp!if!cfqIFLR`Ye^b}I-4ZL#nqXgC zvkVHji;9+Xd?c{rBE=6prcP@^7UDK~aTNDWHX`FQ&P71JqD~W(0v7A;u|s9-58?$% z53{$PwJQHd_sQ3>Rf8*<`!N1@v}nCajrCy%SY~B-#n2;>xz4L9bpU<{y+mTKswj==s5avk|9EHh>^iL3YnP@It=8N#*sp&h{$(3W7z>^Q|G zMPEE`r_IP{O#7LUtFX}OmYqW%yRbjDL&kHLlJOtiRs3L}d|gka<4A~A{9KQSUh&!McZ$GPGen94P~3F-XEdJBXb7100#1@AT% zHRj-JO2s6g$RR@WvGp$OdT5$C5_#TN7q5#S5z29inQ5{t2I|yIu*m4LWY2J%xtoRw zzOk;z@yq@oV$`%KdiYseg17KKu~j}3d(xc;I95=xU!f(9TfroGE&~elq3`XfW4=8m z1;(}-AsK2W-_ChXZ=DsYKXkmj+4)x0=8`h>hkT*$OrObbjOKfm%aX6RLfTqqE?Fe= z^@A1ki0seDID_lDi}^RVlt!<|)FKQ{6w7MTQOm|3%2kk4Z#Dv>s%%;~&2w#e#u|Fn zxb1dEi#Dq#ZB7hU9vB=K2al{((XQ9?b9zXN^cqz%%kFTo!p6RSgJwcAZ#hnahXquz z73sUyZ0RPgQv>t$JV{?UXinicB6>OLuIYu)*j zli+-{oIfqt(B#h%VNPPSCTvTnYp{OVZRb?K$c5nrq4onh_F?hbhK3A!|j zs`FVpdwrG_&28;PzSJaDIi8FZtoa#=+Ue)8mVx|stg_RrsrF9AG{aX#K z?#<ypczSrWgyc7P5CX(k|R zYGlA>=H1sj65l58NTuX6*zb0PF6L|`v9-?VJ60jUSnA)?SsSFjE?|!|3EWe~x1#X> zZo8Pze@zNK(i0aPfzL%XMif zjNcVcA^H9l5_Xk)!NiU2HS^LNzFdex;?8Mm+Y;@qH16XgX?Vpw+v;@3ufG!?cvr?_0}Z+^ST@M$mi#$d z<U zn=B6RAE?f6rBQpXwU5*ivAgIaE@-lZ>d;;Nepc3-YG%z(t|hdam2|yf20U z=20yP8J~AL!jAX57E17~KF856L$R2qoTH_tfn}>-?3Go?KkP*9QabK06>)z^p_?0y zG76Kth9a!2M_gOp){Wvx;2JX%b`ese^U0BaZ?Edw7P>GTZ3o}`2Rq5~X=L!`f@FYWikvvRsb ztA#TzT70Xlu-yf1SH}p&%RTxvp|ZIMS1kzGJM}z~Jt6m#zuoe^w~`F|x^q6Zn!q@e zC5XZsQfc6owx7(+ZGYru@4t_=BggDBdL|>Z5n*AvEU+J>|z7o zPflmW)s^UMzIXcCLM1TbUbVKv@i{!^RBNzOa0r>3`!V*6@x`zt`cA{M%k{JpCk7t3 zQWE{g>aAcP+Er#LPF*+I4pFHN%zpu3&$GfQ@4l{|#H1R6!(nvxcCArY3OSUE>NrXzx6F`h`& z&Uw9tYnP{vte0UhQ6jIZ&^OF35Vt^TuHC6s{f}#e%;Hz>HCvx&#epdx0i@2H!@|Q0MWX`Vk@#wN2ho@SeWS5e>wp zB9KXGOjNkpdii4;3WftD2o5{MQ8g9OgF5})=kD#%(r2GF+*T<#Bl?!;hkwV=x;*;| z?XdVvRCV9IFNW$cp(M$AkL25_pJfa0eN2!s=yg>^hQ_KC2kA2F|18NVjfD&KW{sy? zDjX;@F5qt-a@>;)qnH-TRTRhOTZ?qoCKM~uLVF|-?ln8KZvOOM+H`^r2tnnE3q~Ma z8X_3EI`eDkS{O*Oc3nc37zCkpy_>UQ?{guK!#l}Zeto1_Yt3K%yhQSWA8w?ji(!+l_!@t%c; z0R}aLfgshzkg-6j^3>?i9cIfo&Ff-!KWRvUI%($6v9iPNol2WA;~-H?9Vlo+zcFYG zx8dx#b}D~YCx$6e^!_7P;|x*1;;Ti?y${owwhhl2OlER>^5v<%#Wg$Zdu~watL{(* zz3ZKPbP09xZgFx^WiPj?`5_v}kKal=^~l))+T=1TD}voPacC->brc%>(IEv#Ix)go z^|&5SZ7e0KD@mK7@6;C=URVe>DvwIXs6>&1fa}RmhfT%nMJjsrYVGy@=4La=+I=0@B1e7` z-Vp&@7DT`KZspI{#pMa`Dd2&MiZp`6#Ku=m2#u3Q{g%GWy>k`bX%rOJmNu8LDasS^7HF~DRQ-e~8qDD$20rI2`P|t?Jm> z%(!{**U9R2Wv;(@z@!SkFBMb0bpMF z&!4t?-)b%t8Avx)2Y*NalhSO}1!h^{ec7{F(QcXNky(&YxJ&4b4>WdaLWIPi1oPD+ zn(rLbY3h8!e0qgoX-k}8Y#mVgVBm(`)QI(gn@mqYfi_`tKE!ce`d(2xkhHmt>W)$s zRh7WCp@8D8h`@ap-XJ-T|K5aL*Ls;D$=*dsO7;Kc!dhzc)G2{m6sJ>WfdDiW4f~oE zE%H+IaZ8deEo8H74^eec?8}`;W2k`tY!sPv6+uNIvo$rP`!(TRt-tS3&zY zWCgGlfH>q!hQ~nD8ZW%+t3`}EXTR5Z?G|t?l@}n>@T%{v(srijrRTTy(kcD(<4xdD zT%LE+5bXfJ5ZR%?cvVRwBpWC+HJS;_I#pUzXVn`$Fp@662%Tv1*DJPUrq6ho-==dE zmL9OcN5}l-;m%NGZTwQv`D%Uh*%@R1PTMFqGJiPl9zh#T2GzBkf_$aoRi);PZnWln zWQpc&9@#+NlMXTU1D8y37@76CNi66j!a4pFU3h)7rU`uVWpk?J0iyx(dio@;2&T$a z8Juh4CX$YryJ*(Q`r%83q6Qq5&Zd|P!I{7krIhbxI+G2G^Ji67Y`XMXx4hDaP?!jPyK^3& z&K-O_>v32z*J4Ar;Y7LlEs*2d^yVgbhyMt{AvZM6w@kG%M-2z&W?AZMCMHQ2bRyup za|pSKtfsxGNfn-a`5fd%;J}9_@Xs?SQ1_KcU0)|h7)MO#F=v$ed(8LC3Rm$+3JUc& zU|aQy2Ipl0f=bDfkxhCk@t%$*N{doc*#a6~NjuCszX+R_3>o8apxe6KzFW&W{P9b7 za;Xq!z;b6asGx|Cg)jmKS3=s)pP7NjyI`+EZ8q3%cvN@0v^I?UUzk5viwKWv=@85( z1`vNVWsb`|zj^zy9o%@4rYy3J`EfiJTz6SaOsWf7N$Jg7cgk~K*k?H1UkT{A9`4;X zf07d%9Z=n);8S$sUJ%X+vDK`A1z-rTQmFI$N&^IX`qTM)?apTU%kU|rG9P9+z`@$& z`&?Q=2;CxF{cIa@z1=b|oIJwiU)%@kT9VTllKGfi+O@n)PWG*Q)~@&;T~9l%ULUzy zGTEAD=x|=%b9_3`h9B2x1B{Nlo@feRaQ-^2u6JaDSK_Mn8^tYmp{Bkp6O5QK-0XGw zm4S})5CxukohD2Syj0JgYe?_gvHw5nL;=p^jaZBs))!t{3!o*u>}<3_E4q}?H@Xqg z443wPv1!Z`nT0mUI9fNt{V`*?d=EY2+Xo(=jeZbndaAi))f$}g+eL5v`}oLXQOAChE$vL%)M3L?6c439qKn&l;z`MZh~Vb z-pDUf5^ihc2U>Uno4@o>nE#_=Ae1Jtt8Wu^qZGy$*KU2Pem`{e7rnQa3f^~j~%~Zuo-sf(P z<^1sP)vLVC=ydCDIlD|EP#iappAHh6@LDm+qIU_DB9(G7`uHt(UQEMJ5*jg{<&_2; zy&r2{cM7FZ^&JtbzA0TVlhf(RFap~Acot=Y9`Jd|&Fb$55b2L>~^l~^f1 z^GZ>XP4(?#pPvHHM9@B1S?$zShQX)LZ)H4ScPC1S=&IOJ4g zCdu3u9cwv+G!%=usB&_Hq;DtiCJV5wMJ*_Mnv$Yx^1H-u@#DAi3HvCeG^-;nYunn^ z**ANoSmQ)5OQ&(O8$n1^M36@1_Gi*9<4prI!)%qMq2_ZdGlw|m&q zmU+_BWg{0M1}evFqfIhWcQ2lbVTRoFqkCPF#KI~ zkriN-t*rOP(U@vLlY4iy9Qv1wMY_E6_nPu|hfX|vJ)(J*2vF$^}l2%$0)$@EI6S=Pa1MdwRcMW6I~r1uYxqfeSBpw|n0I$!+-c`fi8Z-JS|vP-MOJ5-HG<`Xa;8|}Ib^@fY}~r9 zn#3NzIobY3edQ7>{FtRCL$7PY1xHd5D#;;XtQ>S<%x2164u%;HC*_eyf@9O1s`fNc zSIZ_y#hUH6A-@SFq3-*$EK3F-*F@&H#GXfb{m;KWnr;)OH6sALWWECiA%W$dsIDr$ zI*g4RGz&SAH(IJBxYwN|D-tBuOD67T@vHDDOqu;+Hcz?cecC7#9OlX(X1^@IOWUzF zcpXt_NOXjit~|SDe0NmDfN0xHq=m4PkmPAo;B7;uDb}>=WoALn_A*NqHWb%Wbh-k4D zdh&@*kEZ9C$AzB~f$CHwO^p%lRG_UYXBPxoH(O|~v|W*R_<4xcBl^y6@uO>0(Ai-D z(eLtw5_7g!K-u|hjOkkwVcR-OZ#VfTfL~H^ocHH=+$Pdpu~t@i2W%LX6tH`G+eSH0 zC8l+>ki+74YmOnPp;X7d3o93~QAlv!7n^2`3F457X@1a*vB{Kh>oC%pVU8Lu@y~bF_XHj(V=Ii7{rll|9(r46n>|T zb1T_=81lBN%-rB5*du>eFhXb{+STT;_IR$t_Xm`EvcJRNnBGX|uT10368pmCguEiV zA^{FrR!=mv&##4ESwAaG1=|-TR79J{tc1-GOZ1NY9E@z6!*ew~eQ*P~z~qZ2p7-7V zjFX;r5Ps1G(#`V>`*qw3P{L4{90m1vnqYiFJc2HoS;$)!u9SqNi_?ds_4jH%0^iO(lnY6E$>Xnx{ z7`|E+zpZ?tCaiU_jOl5MP>Bhg>&bW{+?JzJ*C=Czrod=ef#0^QsysW3p7ZCrTf#Q> zJ^hrLO*(ZAJxg40W0)P4rXoz9w{FEJs_7-k_4^tJ;+`=D-4 z!q?U@M`j}Ns9%LAat8)i+sbplsT>e&?Gts+pAAMJ*pUiMW|G2>_qjigXh{5Oj^z`BwH`tC%AA8D zj$?Xj-yL4CQ{}#(dh>wpIBhvE+&o|zjaWWrZzmH5Xr(hXSh(2vz>X_o{$y_eJx8@c zLv~iq4CSVgU+3mE{@*%~fg%^=)-$EVeJUmI^`bGToNewl={sXkc(8W1(mH^B6RqCEygQZ2};ESr! zpS3ljl^O+!4P|0J;~ke|q!Ha)BIcz4Y0S%VGqGkU2zMMbagLnneOCFdb>t^0=|k*2m`BeDF%C@S6vU&&b4s_vm;uwpD@q_KcRVhJXgMK!;uM?l1l`zbQD zWk2a+PM}~?HRE)MbH*A;N0B1w<56B-iHQzhosSrHUMJ`DcdZ7&!Bohv1*GAAa(L^L zt~>uMgQ-~&7wJ-qz{R)K0rpqup}#&EvuE5_``2w{yNui$ghRx}!h@cao81`Q53W0z zO!5MHtonBql5)ukfgq)KUH@tlu0V}ypL2aJP3aVOp_*3DU5P5T?bA~2QW5A08o`A- zF1kf_fWN@mWQ%W%!K+Y4-ltTO8!<2<G!s zRyF)SCbt>WZ}@-!kmucRFAx#nAoNQAfp+@x+RI%2lJVkQVM_T)Rf0pG&|rOjC0f_@ zKRWsv;>TEIvF8$L!GBDw5*aQq=#8hZ-h_1OMY^kXz)C$9bsF^fEtu?oPW>r)HQ2V* zc|UdiCX^%M%b1<$pyb+3gjrsrmw!DOYYK*_6cYwV67o@I+BrG&>TfjmP3(ro|w z;*?N6Sla#iu@1S65A*hBg{!L<%w_>nHCQt=RwQQ2Dkam(Wf#^sfo8Dje@7@B(DLFq z0=Zq+S4pxU@GNP%m|-OCQVVVSd%Ivpr^6abdAWHx9{1z)b%xafRXS}77QG}FcGK!c z9mw>W!u8u039_NiS8l6~q7joOdTgzrWwAp|MZ940nflq(AsF$LnwSDx=@L^3w`y8#i@{ieF)&v&W@HNfr z+!A>>!z655<5HeC=O@4831`J_a9>-BwY%3JIyPxR!0$JPQP}{qf2qrVFH+G^~T!~J# z*}Go3JW}Ws1_6at{dN-+}#CE|3Km!s5*9r z-ts18bv&h1O{4tE*lY8hC@=)PgxYYM>91FvKg2|%o89*&+63w3Cw~=C(n^2A(r%vk zLN#{dk@R|A{L*?VH}uAX_84w z&cHE(OK;_&?))-$*!DDeo0+nu9MUL3V}f`%v^BDM9#`3<=z=3 z4oRS(Esd_lr4y~4-SO3CGq8r}IHxIw z5HAX8zd^9H9{TZEe2wSQr2ta6$_)c!F^Oqq4pY*5^9~c0JBF^D{Hu22g>ck_Iz*|x zZ6=p_Ufy)cxo)~eTMq$%5E-uKWXAQ=LJt&vxq0hUNfzAogUQRB(wL(%dt@Z}*l5@# z>$|vHEuY80p~#Sx8o$H3BK_Wj!HF*&9Y&va^w2nLT?+uBzWxLUyZMK5#mvW_jXe`d zj^oLg${&f^`EPHH4>Q%NZ6;=s(Zh309OfBOEZX)stfe8#KV%&?bLd0fJDjXsjGRj< zo7a@K$*1}4#oO!`A|7Uw+SyfgVfu|D>o>RcyVZ#-elb;F;k+@npQtGt%3~QT%=3N!YdR1ad?$gM)%FsmTbrwYEA9#!_bqz zXib&f?fiW~*|}Q_gR-xXQn_+dJhHTnp2)x8XHKk zVW-*NxZnG$aUyfucJ;rKe&s(ZFg-{@$xVKtWvx!+S8Ae36aAKbFOWKBK%|y!W{-{- z$L$k{6K?HBl@@PXvS5=NbYMO-p^hP%7l%wwDf;hP!^7rR@k##)e3OoX=$>Bd2DPNv zHv5;1uB--65A5cX>(_!Ha2f$5wY-J_(JaX&(PEaYI;{sT0o`DIA#KaQO{B0HwTKiy88w{RdJ zgxmTS0zj~G2QH6A_Mp*O>TR7hF#%_HKyg3?LiTl3-2ij33#$5FHtA{ZlmK+oi#Uv$xJ ziH%`7PbyuK#EmefG5p90D9+BGs_qW(9$Vsu1T(0S8;&iFkT}FgL!D}Z{}6GRJ|6R+ z1uE^;tAtdy4lwCm`T3ME>tDSZGhPaAr!+BX2br}x_t%>>2f$XD8Bnd*PrJfRbqTEy zs{(Ud`AC90Va?PVRE>`Bz3*iNoljB_Ygk>v#omBxk^`}GzIm2GJl z$RcJs_$UCdn|OORm~Dg|uaFGyjHV-pWN8~ot(#EjK%YF_+Cs%-pYyL=9avhT#7a{w zD=!?3(`A1bqu=a*r9=mA|l8+wI#~+#9KKDdV+~%R9{1ZZ1S@79W4JHXAO|cs~B)v5)yr3!`Wv?QJby zU-=ZuvD!D_SKtj3ku=4+T<*dMy_7)GHYaYkOF^A75qVig&%I=mFojNEUO>4925HNw zifJF)6T=D6^oo9;v((ygF&BJ-6?95(`2ta9>-`p7%V{sIgG{uw8MC01$=m8Qy}P`CRRRv-RUuJ3GwhTvjBmjoyfW7XqxVW?}F-6*8Cf)@1FX(C9U9> z#8BYHoOAc1n+L9iq6<79ZSE+!|5tDHwVN8vAEN_kG^@x!*9_4dXnGbAiGBT{zI|AA ziZ(+cngtZtok_DRPSI1cNcAanY1;-n~n^1+RtQ{Avsio)iGuy@OgQA zZR4>N`g3wwk*aH9x*?uqge!i|Sc>@736?dNw}>HS>pkz{{<>3&4t@X0Q<*Kr$zKj6 zuJga>HZiiTqhWH2wt8Z@<7H9u4}9|+9=rOGEW$_cBESr75rcVBs$Y1t`K`77v3?`r zu8sUj+>0hFft{T|ozaE|K0E4>)=L!;j- z7YyO~I{_+X4~VnYm+`}bt`|sj_VeR1qs)S7W|CxZU;N47cl5* z^q3K)?W+Z)zEKI|!6w(ug$yGEHNAxG zzOk{5aMZS3N*C&{t+Gz}Jnb=QVP**5g1fL&#eqxEwcv>7bEhfxpi~ug(z(CydxV>b zca6eDzTGl7UtVGGUp;e2_J;M(zrzIu+QTxl*?;%&lTkP&8*;w}bVBT1x5oE9({iLA z5lD7qU4ZQBiaweEtDRMAejwDqi&x573wjsV&u_x-F6Em|4EzqY0Km-qwa6B$+Z)j& z>PF=>1lHAooUHdzQ>ZJzA$HgXk(tReH!dvqHu#4Eaq@1U_fMpQPV=PjJ%BLXmU>;r zpxfY?jhPXHwwAw{w22cn-_0EvWs@-9e;jo@|)P@dV9|#(tH=OWY@x~X=DAubsihnfP7+BHz z^!6%rKNpo?SVZmU4q5@1u-zMC+wD4tb(NHu-wV0*`8V+4HZ{JF!&iLF@9tUQG7j7P zbpZDs{{8I6KhODdk0EkFFPou+sX$zl+SXMFt;i$M^gjv977a`u*0Al3LH$iVizzAR z+v?LGaT?iCaf7uviLRF4bW=#E_NDaO+e;rp&CUpl+kKQ-7An+xm%sg!_4d7+7($H^ z`H#bR>KP(5Qr}>V!DPqmwtDZ%NTg@sMS`rOO@dBG*B^L!u|auiHv z+wo?{H6t-yGhUSlA<zgd1Pc54@v_@#d9Du4s&V|sV)ED*-0cjA<}!1Cu0G^C zr37P9blY4v@8>2`H2JN0ne$trxT{97MenRSbS=!ENuzMC_kL~m{J0m$FKJPFIJ*#} z(JP8Cv0gMG!Etw@Y=MS(cx?tfu0#JNTeelNA2`vKmm@#~4IJsm+GmKzaBU0XWm=ber`Lb&p3Ni_#^yU1X!q?qn1EZNK4QGFdku$Z zJ!=t>mdRGjij}>ex}5`YS3Fg%r(BiI0xtAl2>#_&Wa-9D46<>mgDFffqF7v+iB@mI z?7@!yXv%i|kq`TsSc1+zEuU^|2p zkIo+`S-{2~pdMUwINfG+cq1{0X%DvkK3{#DABp;oMJj~HXA z!Wv_XV6(knxfzd6^)YH0U3{De3FT$RCTg#~dVnhnH0F0y z$C}Fk{tawOnq`kGspdQH-y*?~0?%QP2Eb`+GB5B-xbY~Q+y$R*v0Dfv-zSv>@~$K= zTjVN}Mih`aTW51r9KLT$3fG3n68qs-C}0U`Q>!pC(4f=oMJ(x0yNqrBw(9lPufHnr zxK3{5A8B-9->{mfUC8b@eey=Vqf-x0xf@ydM`q`Vq*NWuExC`SCXR*1@tY;lZ_}); zrn*Lh@adU9W|Zxt^$JATzj^Iguhm~N7;ST0)DdlTimafuazML-GBiu}x;m<5?#mZO ze;9B*N5GjaXU^pjo@b^-a+J;f$ZM-4(s-fDXuM$tOll4=lSr0EY{Y zKbou`3S}kjtx_GcgAz}+Mt^O5M^s61s^s(YaU4=?`OD1wTbr>>TePlhUkob`MbV?9 zLgO;l3kAnw6lzzteHeNO)U6${gd2gJwSHf7-bRC7U4L~tv9-zdd2yCz;$VOZBP4&W zbbVpG-G0iOf{VK&JyOu8i+A$dYlw2(sK6K@oV=sD^LW6XXiCsk#}eyuZlrQ4fdAgn zG~WN?QHe=dq_XUZP8n#NXQ5=ZiIWO!9S%`L_xZ3M4l5v0kJIvM)Jn`5LRU+Flf74G zy{#K1CXl1P;zm4pauZN*rf)7M;>4x?Oo=fh_(Hajl|lTe=)LC3jO+nDF4dP`laWk-gaDZZX&k1W;^D8fIrOlXR z=MF@;VLttU0{pGSb1zfpl=-R+?G!+2-k3r7G6*z*m2)EKwq7o_2rvgpfO=s2VQn*$ zW~I1d!+#v6E$!AiS??ZW(ky3tp)IOC`#Zl|Yd*s6JNEZ-D2TABhKe%yR9mqaee;UBF4nDFR%UXP4Zia6~kjCrlj z9f(W&0&M2vvXVJ8juS{Y;C}m^z16|8ndKfl}|ZfB5iW%Ns-Y zR5N2RxKl-5(qQLo)yMDQ|B0vO7|8MG+}nw%ozAq-znbjHM%K>cP<4qxRqJ?A&ZXB$ z#La%vt`7x~(eG?j1sbKB_$s*lvOYadzw^Bs?zaa$&HX4j^jc2Wo{km$v4*E_$Z%*Lm!SFVws@iN^T#bt$&RohVwHcJ;(( z=d|yGX2>(SI)^q}Z?St#3MgaAiH*&5_iGt7WhUnat$o!KBY9ZPH@+nI$%;k5&U}8~ z)!+kkTY9qMICIX?welawjXj+e^4j27%VgiI`DD^$gX^7P9pUIXrSk`f!}EJ*;H`Jy zpZs-{)HsYm@wjv~gNcyBE8V5DUE-n$%s{ptFc zzM88JAE_ZLAEA34wd+g3KwaSkoP39&3E2`p{(`bnSscqabA$WC=|5Q}SMURiY8^>r z(LlQor-__lUk3yVvW$2Jk4-;{rY(c@470LfVM~58Ar2<$sQvM!F3O9utC2vo2ZdsRRKTKg!KvcZUa|r5`k-ORMAUvxb=fk z8w<6X?|fp7$hZhN2pDV-3@}p*i6t47^;RG6dG#_%w35zhYfqhPWp{1wuh5H<4`sur zVs-VEH!Ay(=}IC8x^X?sLXg1ojnb&txT3$lUz+6%uK`0%XOlGH4(2dhk2Bv+K!SU4 zIOn8vrnz=h2+0PM7>y8}JjVt#TdX!0S)1n_O z^e3bHT?sI6s)E~}$pW7?I5>hMX*K(dEQUEempnzg$0-43)w87!(B+a+t1d>Fgts%APoxRQks$FGR3)}Q&Su@+g`-5B3mG28-4bC zNnz;ODyG{(rH#qc%t8H#+r#&I*7A2U$5Mh_11-sZvQDxv)!hpsN-Mu zvW}>j+t@<&>MpuSd6uO82B#>1o|lr_dFr+;+>V+xQ1q^u0>=6-%M;l>)->JOy$c7@ zMZ8R~VsoU=@`H0k@nfa(r^bd=+Dx1a+ql}Iz7m7S>^J=SSJ{}tcB71>m z577p~H>>g$`{Qz!3Svnr#Wq4pOs=st=1z~jGakff9=i`svBf~NUc{#QxSVN9QjPB> zJ(f+`(%|3J_G(@hUW3`JvxnCmdVx`}*Kgep$9H=9A&kI{Zb=jmlXzlhmkMAfnLvd#8iswIa7diA?{^Lk3t%%q-D2&`+s@}J6FZ>Kl|Gvk` z<+~6NYeyNWr1m^WlZgXNa}!(y#`w2+p=Xx4BWYa1J3TS@CDYkl|Hm?2e@Oh-gMPe> zmOb3-Su5HqS$T!HqWoW}ui`xcZ6lqXwGGBk*x}0-*z3=au|{7-rWe9>M=b9V3kadH zf1YcqJzz?4z1rpcvUU(sUipDXF!^GvTQ8+|pHgVK$SfdaIHAUv%=F>^11Go=LUlpk zV=rvmrCfG4`g7z57PCp?Z1@wxmR>5pHImpJf_vd+U!FJu;Jq+4W5r6lkS0)M3B6ss zQs$43UA+H#wVD*O9%j|nGGi(e*37Vc+td=$=xoScHm%oupZA@Q<%MCodPAF5w)k$_ z{1rIc4eX=mvDh}}Yh})zm{3R3L??3IP7{9*FuRiR&h80b)9oykW6WZ6bM}mNzUPMA z$`l>3Qq=Z1sN7!06{3h4i#w3Wn{pk=A!@q^zj#m!O;@{U(IcZ8h+Y3=oBB&qEi{u; z`dJfR$mSLDb3TP~x3C2Wuv>(~Ynpowl8tg`Fc3B(Lt#&cdrs5- z1-smAaXJl)=HmZ#*uVMvyops%0nubCXg2&WYHell=dP?(aM|CkDO1Hw_SmZ}apWCn zzb!sS@*#xZZCq9IhE7iz-8kQ2l&iK@mLz&jzGRMldDYU~{B(2O1AOzrr!GCjs1$*9 z=C|#4(>%YxT-hRd50Kj45^B*3Li2tS1OI7 zbaS)P%~^+`Iv*nld$CxnSf{sIl@FA%_ao2Q#VhHqKjB~`J^y~^ zK+e8FVI+6&&h*gIU0q!DQ@JYrnLleGd$BZKo4+(Hq%4!zzf!mad{yj}7gS}~>NL51 zw4gdwgJkRxSI8nL|3m8o=yyEl9OWcv^0>+A=JqjFk}IE2eUo&}jbw}TLyviPAAyQ@ z=JuzdjhAn`szWOroz4W=+PNuiJ8bNgR*-e0MNsm2$B7na0Dx{VP%3OzU4`vx!nz&W zF?E}9X@ejwiR{Ip7QV4i$MVt8Gx;WMf&@!~exsU}X#=xe5K2lvTu*4VW~|=ny+2o)>&UUci0R&M$r^!A|6(3)O1 zlG1kuN%)@Gmg_RPyB?^M(cIUMl6KnM(DU*iY42MJ9`a|CxAo)q!q0k@&-5TxuTo`_ zl+NcBT{e+>h*Reu-5I(&F@!unF88DY>DBj~{EQgJF}0>b$@@2-N6`Q&`nJ z|2gE$t+!)NMI#FTICv?jACo=D?nl}47qGjls^-sQGJgh1`eZW@t-W^6;`YtxK)(lO$IFgM zxcP^)1Pw_1@WX2q6ieT~VKiKz89iy1tv&0G7@GiijAp;eOfZiX@QKCmkhXO71|Fq# zpH|pADlU6`qEdT?FLf$e<;$gJk7?liRO+{Eet78>n7Py-YZ2k9_YS=P-2emPie~Gh z@ca+R#*>~m`9`w+#isq0DbS4zB&sOTfBia-*{av?+WK??& zz0h8Q zKQXT3P&eQY4!M;)Qe^a#y*i(@5KCQ1MLnq2I)3~4CEh{99g4@evv0^w*4KkcxW(Hx7Ou zX}^eh=me;tF>$@in}eVa_ftYTgwh~KEz##ShuqZuUx+~u)Anu$Y3uT30-R<+BlSJL zDu&pW;I)zY5q$)v%{?UFU zaeVse$kc`@ly%)IY?aYH=r+_AEUL8ud|4q_?x@->D%3G+NB+$IAn5-cY?f;_wl?{l zpWayq(P9WP`c=X+(Yf|?{S}9SIdde)57whb zZE1-@3qZIKb!vpJSG)8_#LoZSHepCa#d#+vdu(=l2diIe8Sirbozc(Fa>q;gKk(c* z@l>>PY?@GDMP{tA-~VLWu6y$fqCKgCQP=?Hac8zg@bfPOvf{)FQK_jE2uk7plHRZ7 zX2!CZUT1NSjy0Hv_!|6M$#qUjCstsi$cB_}?;q>0NFc*wHoz~@e2L=9!e6=k{&Bbj zST1NKDb^P5vk*_GQ_G-w=cCyOh2>28ez(t##02E<{7Ai_S)vy0o6dZpE<|66kmLZI zZ1>g&zHgnB;u0$grcmA#wngo%Z(U3EJJ6+d+qSJcz58b5n zmF5{+!7M#`nYF!;LL@o;UeUmpd6KT7uZK3+Q-W{FF>RpofVRx0N<5ezVi~P+VpK>k;pQ5~jpD_u46N7Rqb!ZjJPVWF*!(y6nKh-{? zqga`dA)z%AHsY`tB1pG&a{J?=vUvY@8HswNcWY?`Y3WYU-FY?*FtEm2!Ld6i*~xpX z(cUTc9qlf6YoO|v=U)bh_uz!FT;Z!sZ-_2Ryq!3XK5z3ono zhTT%u9x7KwoJuc_WI6CH+ck#9jw4Ov)I&wJLoFDMf4`2I;GOa2raSBT1xVIrk>sXF zpPSmm*XAtw_>uwf2KrAVPag+27-r(e6Tk^h5=$+{+%X;)xz;}h1yAXQyF&hPz(1`Y z1zn7mWPqp}7~0CRy`bI8ZQ=2?Ys^Pw@7A}GBSOX<0wz+6L1lNZ$Vl?5i~vwYOoadt$*F`*g*`EYfr&fT}2_GzDE)j>^pyGc#U~eMd1;zk5o8l6Aodx z?6+tu06OhsZ#Cq|ZAcP^PtfI`y&3w2kjhC3mv?zC`;hPB8>-}b%A3F4tuU;QiKe4e z3)YEJ}ryvx=nTaNnI+?j-FNFjH-NG&wgwqoA1tOyH7`mP?uSF57#qzmaM%V1oFym@V4BQ<+snP zGEFHj&o6~D*(m5cE5+|prKzoclKt0AEQ!&~(YEY7Z0d$5DxC1JrQpKv`_2FbbPeJF zuatYo05orTSv&|^McVf-i4-09Af8eQDku!-=ZLJ7mv@H?`sgB^!r7H+6_LMc&&#%% zv^?qGV0)u3eK!YGekZqP#)YQ6?b-7>cmSz!>Zm?=PH}8biy)G0w)qx&-q%4FCt3;W zf^9?7+XmGB;^$c>tv{nD`l)t5e!kiFknW0;O)Z3#%~Z3BZng?;Q->IPM7tXD0IT?wa_B+{7o5+#D$t`39_`n3k4F_OjoM3B?}N(N}Sm=TiE`co1j|t zbX+mypw9nNOc~Tz%z89Cr8_a9^FH2CQ6Q+x^7=>RXG9DwzIo3W&ddT*??$!VFh1sff3IYrk=oUYXzTMaPJo@a3*YgvJ52I}sZ9b@2 z1TDA347Fo7_Vr+db|6fOr{C&9RAJ z_3n@#?n+z-pfhD8blVt-CA3{Bo?k4nxyt5ZlhGS~BNXj|v-d8k=B~b$Z2sgDr#AiW zlF^M+bd~b8hqp=eyt7ER@+^*mo%&~L~j(O?NO0YQI2>?=yR*0Eh8xPM2 z2L%fe6#USQ6oZTMd837A9JqtUJ(anSDkQISqr=~kyOj?%>9#L6@MNSP;c&RWCMR#k z66^llLrGEbElK}rgz~rj8hYmjaFs$$lABJ{eO0zCq*O4ZTsO2WCoyPdA1tv`f5aDY!5rTz_9yjnXOv2LT~X{1`{N$ajbgG z?$?4J?NnwMe_C1S{FfetGs7+EyYgMmA_*hmmz?@_k@H0Z<=&OzP)h*KpV_-SY2L*~R`0dVU@rw42kOIxRSkiM>rFSS7dsPgRGksu9Z({<@>uh}>0 z#XXO_ICqxnm$S#lECI0|JNgQ>lW2ODKU4EX=Ph|oLS<~zJhca>`K`vzV*)3qj+-$r zX0rL$-|X4I?K~#}%y(AfpWBMwO`YMdzK4{VtsoWHYd+$!*z0!-!MIAzzWpBUL4Fp3nxddDvG zs+=&0HM9IN$GYfk9f6sfeY?B+emYWJPQ2BR*zPO4{8i`c#!TCbTh1fqFKF~au>JUT zT$fs$kvQ&QoKMl$*-qn-4LM_l)0Sk?@?y8e#4^KvV$p+2*wMseo%~r|o05q>C*kF7 zt-c%&A4i=}CVka`#BuMCuysKYKYHHfBp+8$-Hn;x-7yerQvdU%I zGxmAzYoX-beU}=L%gAyiQ!}u0q#-ukb<0ey{K^92zqlhKl8~sS+feY4A5d4_v%Zu4 zDHwb7Ox(iVXaUE7mjM^V*?_JQ)1mpLcDygSh`lWUEwT;#d)Z+v_Hkv*d~{ULx<2$9 zkxUTWD=O~ruRMTF3j201Ne@1r_8slJwYs=2_Qqgc6|XPvJTQ{0*1UJe;vqXIbyh4(#K5sjL4JXt>ayBz zs${pC!7%3@cJP4N=Pg)kO43_nC=eFZ=3KCRzi4D34?nIdcQs;;6bYp{bX7F1R4Ue#Z$ zH521C+UgcP$bFN)AX8FqNC!uEmB+SF*8Fu3Mbfy-o%~k&kYr*w$pSt5{OpmKc^i)a zIOt|%{@|q!iQ}6$hXc_P)&W6xKJ+9t_w(BCC8|+$?a_cX|5*?_7ftM3LT#~w-@fZ5 zWs|K#EAG35e)8z@HKJjH&6Y?_gVLuW zoQG^qU_o(swwYy3o>5b*p*e0RxbHE92_X^yAo^Zat?mOIaxBtVI3Ow)sG;LuJWLI^4NVBOdr^W{i5t$^e1+iIq1i5HK z10Ui0TMakwW=}1k z-6c%Hk9%a_bM%tZ^FQ2k2ybDY*J@{2fy-JaTR>Fos{5*7h#}taVe*mikEH%~>(5!G zk5+n$|2n>Ue$Q_rWnoqYyi1?Ol_y*+l>?Hy6!y(vef#)Bb|i6;QP=o97Y0dfYuy=A z8~9P1;gPxMerPPtn_(P$N%N##A_;lPjM!D~PQ=Mk8z$Hru~$Z7slJbB|1$-x7n zFveC1FOZ197irS*B7Sa$$}z8IW<0qS`MLua&I2PyddptVU)HMXpw@X7p#Gwlm=1G3 zZ?lTe0u2;Fx^#H8HINi{lXuO$>B;7D;ENnywN7@MPj3+78s()z&I#i}+a&IMuo&0n z^NvK7$<+<;Q7D@(ol>Pb+lC!8Vmz6ngnX2*RL^O6oAX3TK;TnplhvidfRxR6c1n1F z-#+XK=cPr}{R{HZHl_Tgidrs*caQvQh?@iEmU^O2BWc$<+Fob=?!~31?Z+&(|k?n~Z!gGZ>XRcX}&3StFMN9(Ch8{a+l+v~yw>g?@ zoWh5N2S;f~$<>kbyqP2EJKnWADvaRP?WeX_nk@Y6I=3Y4epf^W#joBgnfZz%H|XqfMH&wQTDSWGSoS7907r2h&2X& z8P{2}zI%30Kqw=}nZsmnL>Hp%wWapdj|6yqkCW?7#w&twa3=d~`yD*=kcf$9iMS8= zy~Sj~dmd{nHykAr zDV_!~TKh&Zw`yDpYH`8bvQzc#mxE(i*mTg@1kvzx3$p&_zjx^4{oIyhe*=O!=8Ei8 zQ28>vxAm8aZy60Xyr3UYUFNnNlhpm5gpTV)amgqDC28>oXf#Fmu02t8?Z=s z_^#3f8d^(0;X;lOt9@RBPC zf%|;GyDv@iqke~rGaM@4rn39-gzEMt!d4^gj#gCn?8n%iHq|&U*G8^)s$_M8`ZyH{ z+avwt<|3p1YI05@1esh`_Y}}_HEAN7N=BhM=sMv zCi-MEl3I~e!_oN6Op}36aNd6$Z`|zFr!^J2Av-IqI33vcCrSQxo`mr0^!1tEQJbPC zO$;J~0c71jDp=646%UA{Nmc4UqS1yyu)4eXK+J9<3q@6Z5-zn;hxN^k`-wWAD*o=K z@>oi&1|>6%>)!5~GrmVVxO10cPVjrjZUrYw}KyNdil4Ad}>r)R?AxW-Y1Ay!H z#0YJ(^QDCZI`9%oA&Ti@2 z+0s~;(g^EJ;Afaq7pQT9C9&J^;G0F;d5z(y-F=a^R3(2U_AT!>HCqK_ZEGoR&TLPL zr}SyhgKzW9!$}o5yXgXPps)8fsX&?pvyY;Lvu&fyA^zH|+x#73`N#G3+Kcdc;LT0z z6t@P<3_#Eq8p*sJ!Ij=A9JprVHOe|B(Xek20^mwh;G5R?6J|mEBAWcp#^M=ovxwF$NP9v%9Ow!`kq|`>1ndKR zhT#-GMWB4lNd(#rzw zDzZ8K%8#ikueoziK<|m4H*oDI{o}})2~)S;&mw%IgpYYR+}mlSRB$9>0AA`?tCPu&(%un27{Trr@ML18qu(#pVv zMIA&b7sxccs1F>y+xgIO;a1>;n6-D+47v%k?T@+#v6{> zAHt;wQS$Kdh2{3!0U=hI4!)!*-CY)vrdePx(#uw_c%#&hLf7aEYF{x4UKwQx6HbO~ z`LopgYc3DD@A;LN$B!R#DYI?6Mc$ZF$cI@Rf>`0QeVdsyryAct;`^3y53LyK51m3^ z?;smgt<8C>EthUsh^Hp^T^sCwux^cQ650tBuPq+%Y8#tfqzhU9Fysw}`b>2JW{{{^ zb5+Yt&%2F(-iyo;t=z2?c;{SqLv3dsKD!nEOXvG2l=Z~^`jf_|4HYWY(9s9k3eJf3 zq6zq{M{t_m97Rgcb0RMjjEbIe9VY9bg}pc(KPuJjf0F;>&6ATRqOZ`OKg3-NRZ_%? zIp4Z?_R{<8XHJi;GZ(G)of-*%S@WoJ0x!Sm5g&Y{OZf;*Z9eDz~ch0ktM_IR=vdJysDzW{3Okr6uQV9@daRkgPh^yyUC{ zgc6%WC2eYK2+AFW1GYBbc$^^Y!@3c=`GS!qSLcEwgAYmfB==>}W6q98@cVDy4xgzA z^~h2Inbz1;TF6qfU`bJ~pW1V#fOi?9u^HqPRvWlD*BX4-LfjDz`^qc*61Xo4Wn~gVVP2Kvr zeDGbI`S7hX0=>hxHRqYEd@ovU_M&9rkam>%=a$vy&W*XcQM?U7EEeq^e+vsU$PlS4MS_OJ>#VP<0W;LW9I9Pm)jHxUZwOnRQdU}~x0!uY||3)(D z%lYnydz4pBxL4|?k&&D`x!m~|C{T&&pE%-p4V^1OLTZts-2mcX6D`f-?@Li=@p);FOxF^ zg`18aH-+h)XS;df_*49$Kv>|`^w^nnsm@i)lfG`-%ps!vF$0a=)JQu99dlxouPj8h zFLqKtw<*I0cBoc_d>;~FP(q`El+k>%iH{2H&U@-|&%sSe)jsL}=$MeeJvD(b%2q%z zn>zwv)4xGEyq?tDji$c2Aw?+N&@Q%7_8iK{Q*j+R)98L<9)a<-og?-G|Gzw_dH(20 z|Lcr;MbV0_{@_c(0LHh#gYTn9M5QcE~xM1D@IXm$X5F*LKta`8VXCE;RJs5=Yg zsw$EAG9lWXVpAHTO`5JWXp>O*la^30X(fL9nctXmkh}HToy+QzTh_w_6lwZ+8rS zqCBMPl;aQunL|}|vUg-C`FQXMT#rB98p1*OObt_#R;J=R_J0k;K;#g$4UDq~)o~Kg z{~9nC;qvGH@a@$B`_+VYQlps-6rzDNFdT?BgZN`Y2lMkVLw{%d-+hXQ9nn?kCYcCf zhdr~Cc(1&QL{qW_c&PiWtC(yo^S#yS;@6&^$r`rEs~$w%z1`;rp((+%jfp@@@sAPL z;+1{+G&J;;y-FYrM-kcVjnUT&nj3_w`(HDk1gjVqj8^F3n>Xk+@+L+J;`YviD^yg@ z;-`NbU;OBk>Rcvc_~T4k3XSqDZPTn-ZESM=Z}&v$kMK|O`tlnT<1Km2rl!gVjglF+ z6SY{7&9s>0?;NgX$i$OiC2A~OL-h6zeh*_y8MgT|wWiZ;GRc^(#s&fN0;+eLkB)OD z)xsfndI#KP!0u)QeW)#EAOg5DcT`O~lOojbuI6|GdcB4b@Fm#YT{}~pG>>{`BG16-kV})Uvg!~H04e0 z%ne=*KRK^2UW(^+mL7sCjqtcpiv~= zv@|R!Ia{{u{URf@;oW-)tus^|11yyt?G3W$k8$_Dt`5;?ra}YS93r}A-`yeu|MpBn z8tcc3NY`Q*VZJi|H(lMl17|stKe07|H11+Fe6c8nV494sp#~=bLB*cC%H~~w)?qA` z$S8~Id*dpiD!HVK^)w(;bnq|FgA6_@OV|0a+ z1cqYb<~fUI!L^vwgM`rT=ViwGiLq$CZp{#=x6NqqXhm07fBop8wnfAmoiw#Zd)qK< zlArRU4nDhK99b`Q^wyOlKqN-nb9Is>6WxqE~cQ(vSqAH~9|UP)Lt&h@jCQZu9;yjot`;jFadWfxT6^q-t6ReDs? zYNOJvj|<&g&eOrVuUQSc_gd7|I1zv#?^0LYI_f z;hpE!H#=83Xa|(ShEVHXk&$dbogPxaYu{1=S%Cs)Eftr)@MWW1{}c8mS3EHfB*65@ zPG09i)i)mn1`gqd;$IxAzO-ScWpIiUDPZmR?&uApScqVu^Uv)N(6o0ji`143z+ZL7 zrjz5pbN3&3z2)W*aned+do>ZMx5ndQ*j4hJyQWvDA^60*CMQiTR-8A>R$^p> z3Rfm>xr2N`xeHS9I>C(JMa_bQqN%C66blKu|GPK=k;>%rCp!m% zA12=4dKDY-S2?43tW@_^O`wFVbuGD<+?&n5N$-l3`TTYXfZoW040Uy$PL&4St-hUR z{t7P4Wxa6yV+z;1a~WSkfQo-iR3l?mco< z0JEek#XlLZOB7ywr`)o%om-+iI5uf!7vW$|gyp3w+ zXwXCVY;Nal%c_{9v?eYUkK!^I;|VEt&tP|iJfB!^g3rS3elq24ZwSYV%?TRnDvv| z?EDl}vd@ia?9LO(OEkIpC#s3`&EIR=<$-KZw!fQ-n&Jh$4MCJf)E%-%o{`jn<4>ry zcN4ODJ$pJh;mOG98 zNCsd{6avnAT-Xanl70svnV0MO@dO5_Q(P?L*hrg6`pp;uL1Pqc7|nPKqYm^` z-``ZPmVQDupyWCAzsR}6HG{%f!P+Ur3O!+cBmJ(<2G{+yC~v!6+L^7rt2y7z3kLrb zG0}2&5)51oe~x4Zi;p%O41Vw3d05_vvq^Q>*I94o`rYO^wj6swUxt?JUdPiWf3)FT z@PK?o+pcA}r)J}qh$2_G+Rjlv#cQa3Q{tWHL*Qf#f1(;Zs%Xa+p}%+M0*Y$uMUrBd z`OaVi%Q>M29$+SQ=g&7cq5W&8ZJhY9iI9?y8dydFE+chuyYAvWROZs}JLsE`^HZUi}owY<#0mqqI%R z!VGzb&n*X2JE?-pSO@7O#ea3DE$ve=rwq*BS-6{=`Kd-;dkI%;H}iSY>uvHg!G+l4 z-F{?HymEn~62nC3Lr>gzzuKT#IK*g>35nd$`tnmkeoXz+SlZ`yX#e)HU8B3>X*W&V zpc>(o8FB!uMO*ux>S+zz#m+Jkv-Y(NF}FQ72UL{P%d)mjccE)6JU{*`@GkZ^z+rE< z-{$wbf#nWV(=Hu1bKIC_ehjAD*lU%=e&BkhUaqa4eeAqyNEH~T^Di0Y-9;XeT0wgz zufNUgP>!4viiZdP|I(%CSb0MaLPKcSsR}0nES0rnm}@@~`Zy~%RDmksK(rZ!Zid1N z-u-|BrmGL}l6BE)@9xSZ_S@(Oo-F?=$<{^Q(IXKTOfo^hKnVsb@1Nu0thKTL#k={X zoR>dO@Osm7+kVRU9N1)=dqN!bjgTb8{L?KFxiQILAbaJyVjE3hRM@6OoCbeE^JvRd#sy2utK|xAS7gqne-?> zO{3juHMww^(yw`%o+hPN!Pd@?+BzA$?%Y^>joIm)n0@iH^dN2D8M!Ta{1$YMuW+CW zyIK7AOdR}hbTz_=%Nx;I?q#tk5!IM2O*8ziyDjTF{tx9tB z1P8yEU0&Ci|L+{rq1N%6Q5%s%)O;MzUk$e^P`>%b&w(^;+%QWzPh;1ouClfepNWQg zn7^rZn4W>m{!Yw@VRQTD8FhVVa2#4aurGb89-J<_>Zl*5BsjdquEdV2*t9(I+6ct7 z((W8$<}^OrZ63t8eR4XEo49j(1^Y6Ia%;Sk&FEqse4j3+p$rB&-+cwVG7o?~@xSsq z$O&Y2S+UGK1T12klOOFq$;LslJb>XkLZhvc>0pd2k!+2@nAGo8g}pUQ23oGceO*Uu_i<^4!AaskKlm~L7f3m& zYN&W%t+Q?R$#h^X5n7*V2B*IN1)O!e_f;06s25O{TG?jJaV@I;zjJ=|4wFb{=W&WJ z=dN|Y7ldSO)fa~h+Yol!`nSLMISf*WJE)~-g6ZnH zu<`KlSw0D$Q7pul4mPkA$g1CBNBaT_3_gTyS_IdTIu`VJ&u6fGqn-_17yZTG)GQ7E z%rEDq^(F?L@fJK8w`W__BsaYGWXz(^44{HDr4_9<$wGB)y7i0r_6DPe`~_J!W7)r9 z9i!(A>KlBvn>9pP`zDnHjY>D3b=k5^ui~eIIruMkE6SpreZlKB4Q6Eh_KU}H$Pt2N z8v(kVvRISIWii~1);amK{nZij>35ow?tLSf`Qa?%jL(pj^<&{+5@lysJuL2qj=NRu zQgAIUBh)shQN0o*ZPk62bMeWmpGHx!Rqe80xMDxM=8L6>>yP?#rDyS0-sS;#petyD zkcEIT%fvUjAgxsiwGCYGG1RmoMIUITV|+K0<}6XYMP%szGWl#&dR&TA9NaOw}DK@~&7n z)RqTkUiOs9V)nKZ(`Gw}_N5SMRnEP0PrfadiYWmK@+qVHw%%C2HbysrH_yGtmR$8$ z&jIq8*=>8BUp|*U;)yctnyI3yzKs;~H3O_}PZu80$WDGckq_zM{+GFPIoYyDb<4x{ zw=FcmUP*t17{`)oW;3u#SMclQWY%Ym54!5#bL>U2l4~OtkY1~;0D!(vYW!9pk{axN z#B1UxxTdpl#w29{39j5-(`BtwBtQY$B$7iV1t9m>t-;q^lSNwB;3|F{A@EqY739$oEZa*KNFY3ZLnJuT%LVO%D3_259J)N-(KxfdF4A?&*` zjq5#K?_nH@E|${?aw^&C&S1V9t-CIJft`=fGq4a&V`Gz@h2=QiriJRscK_>CYPB@E zaY#&iS#UJ$*N0SL-qMCLFT~q8{j?es+fc(g^<5brW|R-m9S5}5{A?lxyX{XZRBk9M zQ0upL_Q9LD%;LkOKc*UYPOtrVcD=!`__@DVD4WZ%Tvb{A8l9T~ag8*J9vZ)z*~`P) z=)$`i?fcK!_0+`)u`HAP$QCnXV&Bg%0*{_6#)>BC^dbmZ><2+Z)?OOvo)eO+i?-%1 zvmm2Bk@~*!xkXX)6h4Rfa%ZmX@e*_r(fGjDJV=Z|)vgWcpA!BxRKvnMVRQJ8*2rmI zk>B6hc+AYWW8!Hwq|_DbaNYZdRqOo=#ze0Z9>3$JAu0s7CH(Vir} zT-2AM?E znE94%g8g>6`-Sq7xy_o*8oTvbn-m=*Jr%ibLy20#qE|n@dH&aTtZNbfEv<4sq^M`y zs~Y+v`I;5XX}{OdDAUE@^NMPhf3+!52~hVe?%6mdaG;nPln70U$u=44-&Rp^k!ZWj zH8am&TzY)FeYUNPwHg4L49T&Hd*yHb)$#?Tt`)z{#km3!zYXzC$$%L#zT$6bI(P=b|*?;EI9_Mnx?-Q0y zie}p0yEuUSkYVH7wRI|)n3pN~63A&4f8&Gl%zx+fk5oh0B?Me*hahSuXBvhB{vsV$ zq~f2b1wU0!7GfU>Ug*^^gwZe%0?>v84Jn*PSI92}h6F2z<`$|uV)p3Tsvy9$E)W~K z@O)=s=C0yCt>ZXgc^Y|#UV-m%PlmfwG(&3$BP{Q#L~~AAY}9k}4$f?{8Ks#I>SLB> z5-AC&;$j<>TUl?6%%%W9{EBV3PRYXj*cK&rnT*$`*T702A%u&al1@7%#J`9vV_xs6 zdjH?Q<(bnbCx~KjJ&3ze$+x$ULNfRlA5}hsL=NYV?OhLr^nL*a#EIT01KV6RWEhZ6a_aN zI+qo9`4rig=3&30VMb=vmR_gWyAk}%OB?eeL3qA|HQSjx&DWsUK(+B(S5!;pk1U=q zlqjxi+>aMq6r1xeTAzp7wAbrie}wWDUVcp1Jw7w2XhT=N6u7}AI;&;y{^Je(%lf(D zut4*pv$pPQ>PTA~{3f$S&4GBc=LbKfjnFg!6rbn7KpBD(2-GIhc?N1CunmLzdY03& z#`K9a*wm>v?_Qral#cT}GN=g{7qivdUojhbKWcQU(P4;;=n4RD%`&6r>`m zD2Suvic@RHLh^+5^wcvD2+Y&(>FF)|f&7OVj0F^Cn3>PT8MAJzvm3L%`qQq@&t%#3 zicqM}fM)AR73=A|O6PYG?gvQF?ZVgfMnuxKAgc6Kc3841=#R>Pus>1 zwx1fGWqa6F7i_!XEZgKnrg<#X%!Dq@ufMh2F@=G>^|coob>~v`l6GddN2{%@+)+9~ zb+6Q#*49pYLnUO7iyxsG{haR@2Vyv#WFxWlZycJRTekmvC}a` zrIpQu>+z5)DZ8mK${P++AMSJ99#Z39QciKWK^ts#$3p@%Vrr>aRh z4D9}LTj(wNJwIHa!F7;w+SefMlC|UT4J0Bt>^|sXbtmM#YgLCJoadUky}2$2^Cj@W zT)CDuqvSHS_1&hQIB%YAYDV*HsiC)+hEH~iGS~(zG~zp%@>h|U9CsLVIjnWA@_Pvb z_iE%V#qL_>Wlz($ZA@lt;b05f!iwN)Cw!rQl<7Bu&Jpakh|#if8tv1ZHTc8K!^pO& z2VcEa3Pvir4P=#drrPfjs1lZMFWTsLa?4t;`>~(i&)#}$pJ|6MK}D6!D|J~#>uJ`~ zM{*mfBe|1YEY}>BUgI>;Gf@|u<7e%?+m?AoGXA|$=dn=o=Ehvmk-FoUoFG527lKXqP92gL|_gOftZzKUkl;eVisd3lK2ELO*uLHSlD}l)>x+dl#qa zS*-jOfd-DN1&wyDVkq@5)<+wVH2ZOJV#xsGC+rZzJ?`}c6)X9ZI18*d;) zI|hq}*fZUYFCZ|gis$OdI}Y%NMfYXrw~!jmBbHOP2_eO#_aDl9;6c&ySUn8NXK%!| z8zPAj33a~uq~07e;UA{$lJfZyr`*n{5N~%I^ji>I(n`KW|kBzYrDzfXxPYW z2RE(7Z<5zH%feQh%5s0KdYR&d}e3@HFww^Xw zI9~ZM5N_#hCL2s9t)8GlRgP`i)brnSGA&vQ{jm7Qpxz|rcO&{$vlC}o$;uTYdFGEr zi{<&CHVHW|Qd5I3kik|T4*qGB;DjUu1|Nv^*<@V3TeV9w|?kgFeuGnTUFdkfJcpCc7zrK)lbL^C(OO{Y`1&( z6Y;ofkUK0(`tCCrmaD3pJ^LGJtk1W(isOX8w6jgSWGv>vyP)y~Q&m2L4PvJi4I!8N zh*^%p?7?iw$e*<1kSj<1ZN8U?Cb;-vu5acOI`@A0OudT&u&*^Mmz(K~CXovcI96dW zF&f2Kn-HkM57I83Yy6c7<#T>5T^2>0I+_C*+IZwH+A zzqqZb6aH$P!t{_>)ZM*Z{|U7cU1imByT^jnKuUh`Dle@oF*acPa$#@?KQB2fKm}T} zj%nHr^`Q-%?$=%r%c0izpnc5(Ae7>~Bi$|HY%Bf`%bi@_mD;O}bqROh_F>xA<-dyt z`%Y;Uu5McveyLp(s6@#1iH%>b&)&Yz?938X(dj?CHLJiok{@4~I8V{3;BNGP(pOMX zY694Pt5oz4f?#j{i^Y*Sn7nJ*ua)+47&^>LQ<6w9M&3seBLboG_r+c~bE_h`<<&^#Wh* zx>|4e3)=zz)MrV~#>J66zs!S7?_z_7DbJ;2f$>SjYQj2!HAY!K=k_(SH@QaNr;+@u zG-df4AkG;noijY&Le8%QD{3b7&QTW}Zb-bW#9BPw@=!?Tz7 z#NCRy(PZdEVN|$?R)Nv@aI6p^!*ogGO_%DMJY}iEbV3%mm1M$DxW63R7&{v3uo7&{ zWcLExg0(kK=+_7*HxDT-2Y2~uhC?2#?2p3BZy&~3Y`W+@5V4vO{Iz;ql#gtCqU8{L z?;bCl1E-7$o3Pf2Ee5<38xA90*S*6zLfYsn7a>5qvyQL8=vqtpN^>ABAJ_5~8@`IO ztYW#T4SCGlz2#X39p_vSaC0&@2FK@zd9f85iSiX!F8UgJeX%Zu$pTVrPVPlFgjXez ztlF>luwH<-MBWQ=PG7W$F!);fx#w5PreB6Tq0lC)v=ihtLVwgWuQ(-b3WM-ld}*8A z8qNn^GtCY#GKgZkUBej#tF#0gdZSsIh$8LKOF1~p`fTiM zdh@E$)a``t!JZ#IY4M@W)6pr0>c{{FP;o=UDRs~qZM*OmWG|f7sk#;Ge7b)ymsFBQ zI`tMy!G&9(SZ`-9eD1rX@-AzKmJ=%a)g;zy@(6O~D#y`r+laaO+qrfw8iCe)mfO>rkK?PKJ1G4j^=iRK zRI<6wF{#E!V5MQLD`HnHsC{uw z>0sTjPjPRrbcyI$W;{m#2vVC;!#{c6zWyhTZ!;ukIf))%S4KH@XoJTPr?y=f^?K8v z@Rw0^A-}f2E#zu*@`RT2k)LPI?Sc7H%IccI%7`$hmfqSBdE1uwqV>ydIIyczVe!l@ z^fiAq|N8r4AQ|NOIEhR2*Y>;Dn*ze{rusIiz1^dAt#?Ck4}d~pgRQ|TT^sr3kEdcS zstjC>fuJzOFZR=Bp?~zm{w4ysB-Z@L`0h%q zZuYyy>U%TC3-)RO$MZQ_0V7&TzDoqK8*REosUjyZou%Rj?4)l}`jY2ZR&GduGsU=6 zj28Nsfg`Oy82DPVc=eUQfalomu{WcHiS}|Xux~Z%LmFeEOul?3~_lXHb z|4Ffqx3GNvm1jyy@>G{Lk%mdCXHLa~tOtuCWv-&z9x#B=NWF^C=vfm>Uw{06=QiJl ze$rra9`=%Cww?+y-AXCzW?jYIN}WVs11?S_lGhmJeD4d$;VC-SnuY(Jb93bwQ(3=u zy?9@pW78~J=5VmZu0;FcA3!U1Y{O+v=rS1VXHMV40U0KTWXC~@=Z@Qd=UV7@JI|1! za)saLW^y++s9%KXPLA}nx%co zFdnL4mhn%-e3d&Xz5QlOaK-R^&33u$&sj%$hef^x;@JLkkl1VvYl^BBNcTzaJ#@Pr zJn1J%$JVsaT}RAo5o7`)lYlQaaY9>nROd`oWlDZ21rE+WnHbzp4J4M3vrQoL8w6a% z9d-8sx#Ao^l71Lh1*<~ceG4PS*FUK6=k^Qn?W&>+%e?d-#g5%q3fX^F1qLDACk-Or zcsnA=wMaac$}l)-_kHtA01ne7{K`&xQ{U&Sr_G+2G2M%P)T8}om|g4XT`%Iz@}81^ z1Vyjm2IKz~VSGzvFjvWL-Blv6h+6!j0e-jZW)(QSf4M4jad`#FxFKY*-a{quUz=%s zrm8F$P*j)L{Vm3yO^O6mH061bZ=E0!#__nMtLu{3QS<8gID~;j_mjkAq)m-ZQjCX= zO{?%-_f;jK16y$J;I#I{zue!~=eZsgiprJ_e%3WVaYjAv6z+DSRWsDKrAS|x#7}i< zbLXvj&woud{8AVYg)v@MPZB->Cec=$jcll;uJ6)oG=8}l#h@(*#gLClLsJ?4Wc{M` zlMPnBXy%yj+rMX^-d3Mz-41YrZmW2+Rg~G8ubMI&Jh^5N(T-(Mw&HZ_vOt;xGHBL( zWyk{JAO2qQ)%f1u!i$`ptvcgp?ItSPx9;|aXe=M|`jXro;vMUNFg9H_&%%xt@xtgbYJ{#qXer7!CEy=(MOC@@yA0}?DHP4wvR^(D|yKrwLs`^^` zR609hdU`$ul|*+w&{UOaWdnIaAHkIj*^X3V-@b*&kH!^-Hh~u!g3?=~{pA_vt4Z#?MvFn>Uj;3)B@ImIWC|ri(Nn)6~}7XxvA4)D{uTC zGgtG3$Ci6WA;)B@{oUu)8c9!!Fp%1`!2{xuzD)hkr0Fe~a~;BUd9mj7<#E?aa_ z-M6jVc(q0|+mmxVyIln?X`A{bKP8IY|FEqsDhp+cxbxLGB`1!Wzeii}A6e|lfM$qU zd+n_TLP=AF*7v5zd#@MeFOnk^Jo7EWtz)7JF*T;rU+s3NLq2Z~FW4D=(vDDGL|8v7 z+CYOKg-xLyN9ERbM!cPS*gsgto?06>fD;-FI~vKKZmfz(yQ4cCJzKJ zYg5G!Mg>pUF}q8#yvI=(7+7~N^)bN2M38JLR1_!KjW|ijD(${3xQ}l-AW_9mhg36L zlt;cCm>ri!h=`ZVGM-eCcb{^AV1&8j2wYJQVQ{^d@QAQ<%i0}VDds-fg}QB~29Pb7 z=h!!0&ww;Aq!dkdV%PGu9E{IMZORZ{Y_Wl;r$G35bV@B+u`F)+?;JZ2G{tIx6qi7E zTT2?&jXU4S2H7(c75bgh+*tu~VE+mybfYfN(T&u}R@HLAmEbBnqRED9F+*ogn|Yxp zDgT|j*lLtw312wKEbVCkrb>~z$X>zyjjB8|d}4o;jaE(HzPMP`L70H(`U};CJLJ3s zrd@IHWcF<5&lY&K7M1v!RUFp7@;6riYi3F)JOKsE)>GazD;uWF`VdXgzSEsFawlJE zk~8;rvjB0Jzzc_x^y|E@I))wwJZ``E=-l;!ovE|J0`#C<-~o_&=KU}qUML|82SKp5 z0n=R!L3Gk`&{5sKg8ONg*7Kyct6PK;0i~6|EMn<%1YGy!$Ud}pk5;B`f9shd-lvb! zU4a7fOV9^wuEexXUkh@a?e2ytkazVoB?`>DJDFFRlPq=evvjYwz&gqsBltyl%?J+W z$KS0&?xG#$jj}Dh?~ROB!fVMYg{9m6`_{VbA6wp+HD}x|e$=TVJN%P&&}JFj*Z+1a zdTBApVw3cHO$X&2Tnu>cQ4%}EG<)6AXUuu3s@3y6EI0Flywwv%j{A9)>Ps2sODt@; z4PTp$5W!v^#T=yC{Uqn3>D-wd>+ka)CMpiCtX*M5;Pdj4RFdNM0l~@XRDLwAHJ4?1 zP|gL9mXuAvkS^7|;#I|(45!`!@BH|u=Lr}4l_Qg6no4>CKGHYL2!x(+$e`STb#cLQmIl?mrasU60%9uw3;x+@Z7k#t6o%(YX#wYUynL zkNMtY25Z>V)h9774_dz;`HW^%;{E=78*gLb?^4yAg|a(Hr|5iVn*VU3eJiclQe*#2 zFvUg1mGD{js61po8J44)E?6>uU#pm07*oSl3`x#RQF0|VD{K#+u@9*_7y5;bicJcb z{2CE=%)l0ySjVnBjle=l#SFz>S;OO>oQQj=oDQchBN4t4E$bFrwzu@r7f(`_jct-^Dn@nL7IdZsaZ}tUdC8 z>dyvdh2$e9o&&ml+o1$h-s$DnBiriHbhoeiQX8kWU|MC$UA)whRjm?NXJ7EAHjR#o zsP~SKbHj5cYw%|Dm)ODhRS8Li&U9|x3+t_eNL8ug?h?NQYXUk@F&Uk-X79Cx3Ru_5*wvDBCcRY4n^n52 zNOEHHTXk+iSK8CNYFxd}CR6G&lAu4$k^*h*cXH?Pr)(@1gAz0^e3&{bH+n(uqK(X! zr4`AA{^7C%RwHuYS*hzvh18Ob)#@#07H+E+UH%n)j$@T269EJER=J$3*V{tJ5A`j- zNAg%})p$!f8)WL1!4N_iX^lH`{M;UEMx_z6$Du&@fsK4sit-(UfH$z^67-PKf}UEg zK?nZsso`0Xy3|zPf9KfL@B5)F2oHOz4qb$cb0uYKnHco?b^->skZ=>A+_2hIIv zinP8}ss?^R_21@3B~I09p=Lt_yW`hv4aiqqZ&#C_%tD;ZgR>_l=UwVhl{t4Md-YQ`|hO#5H5A6mqENThAKDlUu)IdakuR z)m%bcDBX|hiu=@sxF8A|U?^E4vK0iM(Mgq*{(t>FC4IH&wh8n06Q}&My(-UZ;4`nP zR9o|Rdh3l0QeVa`)?bY4nKf@&eK3m)vTOSO?mlM)NKFBA$_DGd{qU^2RczWh@Hl^2 z*Kaqf(PWDW{`?`7O&9$Uu4KO3{b(e8T)+YHW8>+ibL99h{&M%PV7ufo=v3TS31Z@! zVG_KEe8P0>PTrtN zzW+$+eN{jwh&;B|1KGy&yllgy_xH3n)f_l!OkCL#TdE z6Y}X7V~?z$AM(R`p3iTp?PSd>Qcpj}G`a$hl8%Itc)kM-za;9qHH(NiI`#LM$KLuV z)i#*$+8%X3v!rV?s3Ay0Ep#^CQcr$pN|y|b)L3QBzyATnoB5Q-7}I_GT;-xUeY50! zA6RKzm=cPe(k|9Dxd9bB_E|kR?fzzAH#B!CB^Gq8b&>hADCF9&FG@U$QXO>;^WbM^0v=aO&2g)*?k{*X73(9m} zg!075gNtiEY3JTb`Qm8*uH*M`>GPm|gc&1BmSs|+9Ftn++PMwT>9v`Z(*?T)^?FzM zMb1#yaXiHJ`6lx`-BRcx=4{Y3#W5DBQ}ptS+ysb+EH~&W=renvU8o$?Leaf`!{_Hx z(#jdRt5>o;wR8IA)c%gO@*t{%_9!?NZ7|s|L|#R`40H}t)ys1o^_7Rc>h=7$u&IYd zyty;SpXPzxw2 zuG$zmSPNk0u55@azGLcgzeYP^>`5XrXLL>%#ME)=)%Vt{+aK==S&z#GD#IJFuA{p8 z?k<=+wG>?m;#=wyixedtS*o8K$!Cy)pPgK_YbqqT@{6@|tN6z(md`n!)8lSe0sL~) ztL#q5y`OzCTE0|dDC>@F9k@t9X~vR=5J3?*SZb+ArcKL zokAFzdtPnN)5e|Woo-zA&SDF7xqZwnV%j`mFEce|7d2q$id?WuPK>9Ly}#QL+z15J z8p6ww0>)*rM^DcX#Y8^P;NSDd-Qa_(aXN7Lx!fPtP%6U#s}NlT~iOXdPp0ELBFhlSE$}9DY_muGNH^6_k&Ou zAD(6J!7mdTv&N1d?Gnzo-K(1=FqKfpj0d~$^=-gi-VB4 zcx&muQ|H+iYN3}X$sivq=%Z3tjgts>q@4wGc=CI2jTT#;!v+xuTnzMG3-o$YCLadQ zF!0LX7LD+deCwasORXUN!YNFZ zt~DzzSEdMgHBo=kwuMU5NX^O7>Psuq=7srxhdz}4CjG?0@K>1Gc|c6XGEiyK$b0?`ck~1L}2c68h@Jx#nh9>QtXZiY1HgP zj6wbsy;ik-R&QbOkl1b+_yl81O~o>Ow~w&*FB+GvY(sG7DC}J8RX=CpU?kO8$q&YKP?^~^M47MIVFh(Wj$Ey~JFr0ug~7y)w7M>KA-194{=b{PuZG6FayXkP`-pb6u(rSKmYCbnU>6~v60a5T&RVX43TC9teBA`kyc9 zZPaw$oS)-e`!;c?(u(;tE_e`mwfPxQ_$CP3i%!@fM=eC3wskL$wJbwI1-5*@WEnK4 zfK7_Ol%_9kCTGFw9t9eB90$7IYH~FiwBGK@-R|88Icq-kOmvnlZBvYTx25-}`}$XS zWK-c;w)TdeE#$4WA*10r3Q7AJ|H}P-2A6g^Z(>JPzL-a$1>oXMzk4~2+^0D>?gAmP zHbc<(UqIZ5I%f#Y}Pz`riZ-eT)aO|XOF3MP^_d&&ZE`f_l zvGjC$$TCvh-&bI~x%y;`;;H23F02;X7Yrj1Gn5LaH~Fh0p{*H-WR9cnA7O1OcMmU* zg*XonPaSUcpbTzqzGRBI=4_1u~Q=-9hXms!?_7(FgcUfU-JwEE+Nyg&P5ia%mS z%V8x-zgMp8?(yO3;5dAFT#Z+|^-7x|!2cBA~*Wu#}>{r{Y}1Kz%(eR)Q2 z+hS`C5-r*y#;&Lt!a&#fm+o7!1 zVcm->AI^S`Tk)s$3_D1Te>C`~E7f^sR$qzn!we6JpYY8o^NaPlk^16GN-iUvC+c1A zP%-i3TP&p>=xAtUHd&FIxOF*pLLgbk>(^LDI_`mjO}C^@fl_K}>H|HaXlyksd9p^k z-}0bUgNt(g!B`CRhB@{o_avQA5;p$kde7DslLXtzKi9;ZSrsnf3l7azD1Yi76q_mR zPdtl@F-mIDun&u|4E!G8(MSvh8^ORo$4*tER6%pG<9(?>ZVP#CGr&;DG{@Yr^2ojU zODP%qj6;hmpQP%u(>zKF?_T3BtsnKi066g}g+0vk`6m_<53c=Q;ChbCJ^QTfoSKGr z_o1&yw+kUJ?cIkuz!g4{a{RhGJnPRoEM!fuAQWC-}8DbL(eR$u%{KRT}h_F3Di;i--U6tf>q$urYah zE#9*3s#luA1CRs>1E~q!JmwqTx`6#MTz zAD_;d7rc!)dUdn4!MBGq$>!n1WL_M5pzMF=y6Kmvz53RqQ--iQ^c-BEq|C?om+^i` zpG)bG&(cxJjXFO#c2eMvX0MP7rnG2M7VKC4a6V5KK)Vt5LJ5Qy6&n*xl7aq=+?4P0 zo~e6ZECCT2fOBvSrDEsW^X%VLbKhNU5h3@)b4|PSop05LeE|lWq@i*XjaR!M7S^`b z3`I(kvJ{jOh~k0r`W20OeNo%1$Sr%u3;Uhpb7({Iw|BWWrjzM#5t{Pn-h}!bc*%7n zXb%Pb+FcvxA8Kvj9xI{G0kKeALt>_Vq52zSzJ#!#r(VPe*BYj!_V-BkLrf*}6VbarF^WFu=2F0b|0 z-`+yr5N@P|m%EPWhi$xU$U)KauF~exlA6KO${d9wn_i*dI9QXD!-+eM3= z*Z!zQc-pu|>)|T?I~Rv4?mn*HGoENleh-n2A(-%VqY5z_UZfz0eq~5|>X!@SZB#Ob z+4Cd0;q$jCbgz(CzGI-8@~#tPBX!;|h3j=~_4B0eBzQb8f=%)FzaJq@&m*s1zPB@) zq*q*n#x~J#cw#zH%d99lyAXnG9sw>X-7z9=0CdY?L0{;i!Kp?+fPH823?Yq~ejOBb=;Vm!4mbTh?r(K_18;pdp|v|=f<0JZN~FSURTo1Yh<)< zZ!^m0)qGRnsqMeFbb0OdX`EOyNbhc?=axqQ07JT(X#Uq}3N&dn>hcVgkmt-*7*Uky zRFtPU$#SI^IY}t3Un+Yx<*WH4rWGsGYmvz$?$*hrrTgiBnbqn3GJ{cusgoMX?=2g;S~(v+_5+fsLSPTN`EO)Nj{I@5|?^66yk zv~PEPd;UkBYTp!Xrqb^J0I?#uvsq!eMYPmZ#>pJmzl2eP^dUlQeQ%hYu99AZQ?h=Il!huW>v=IIW_SY$QsC6**Lza=fJ7m9Eq; zXLr$F)@|vw{du=j9W z(%Y-iTjj0Kv3wukdwUxTt4QLGJv(e`3>OV6+lzS*oFR2aUpeAawA>;l?ZzRJ8y)<~ zt1Yy(ytG?-o!CkejFggbO4s*VZR(c2eE#blUZHT%$0ei|!^i{}*`(X%G`EeX; zj7F?Wl|isD#$taD&OeNjJxE>>x_5q^{_~oOH=bAnlQf{o9EJvS6|+cz!IcW2Y#<7Z z;c>hLL7diC<-1R0_u2fryB&2RoH?b29uDBi`O_%~kFCYC#RY&5IusbrG`7~-{+ znR3h(NI}D7jCSU}hbxS$;;`_HWp`SdO3v=`j+RRH-*56hS2>cUhOH`%MJUPhCbYC~ zds*oEAI`3ys5sIia`A(yHRhsXQo9V-x7QacKrBcu&cy8l=G(ZOl0VVT6~cW_CCaee zu0F#BN-bL4uafTicW+jIoSavRjyF2ZF)CN~*xJ&IZEBRPt!>g>w6%{t_;_3X6K@sj zN|JfQTeL~mQzKghi%zqM`AUUT%n#;?i%3}nrwfYusw(v=KD^fXDCwuq`q=quoV<{; z**P}fc{HD+O6%`ECsvVO_GL$hdD${a8EJqJ$5RzM4ie_bhzJpn5ieT zPt#Kj-9{o-Y1$yEI}32Te57#i8c4epkf40J2P70^4sxW4DC`ek%kMR;H31wV2a#jW z^;kHI4u#{Z5xm)V!&PD=d-z?L?q&8{J$+ z7kK%MOs?#AWB|ce5{JE5$b#y8i%!Ww+iK zMQdYmawXA@7Y{CpJ%g!YSjfL6d@mCCZ^FD&N=q4*(V>cI@?-FEjvo~nJL@UNJhhT; z{I#P|H=?$UeP&6<+5Sf;`wV33;nUX(igK+%$Fx&?)cYq1FGKa$;OG1m!{OGkb7Q1@ zXYfymej92x5<>v-7M9=emiRHt9gTB6)s#?cI&3?El21QNo*Q`BdAE&%Yx(DhyaLZ~ zDy3|f6Gt_p6)8rH*VVC>SA426y(*3Dnw%SUv`^RaZx%9)QiVLqja;^~vUMXbZHBw* z+O*)i`?BtSwRjuikAr?7X!d>~@JEX@FBNEah#n13Le(twD>*pjeCt_dRFOa-;(SRN z$aPW(ufsDui!jRT)Wc?298L=nP1W&ZU{Lz&j*e>^XbNW8u6!xY1%2;-Fy6z=|XBz zZOSWKE}GlVb8gD%N!(<|KA<0`Z`ZYA;U&@k0GF?0OF#Hycw9gbHsh1WQO|6gem~C@ zB&ej@SJv8e)3WGhT;GH|6~=p!?an`^w_NfOR{VOO8TcnhvheC4jZs}k7{I_e=s*}g zoqCK{y;ZrbZ@STI`QO!8E4aEj6Y9Fc7RHKEAwoaWC<65tjr0GXZq_jSE@ehc+Q{y>O^TysIz19zz=S8Kf zEtZLF`P>o>Hs54Z2(m;|-Ff#)y=5Sr{{UNXmxsJ1!L*|sizdTRugS?%9Z`K_9b3De zDy`}+YkSbA$xF30q5SK_d}qXbO;i3AvpV&t^K+~nIXXBxZplZN4^5~xmHA~;o@)O9 z71_+ob!}@V#ELkVX(3bv#?mst78$@e$p;xDt$o9KC3j`h{s&Ky@`^o@Uv{_tu2eVB z%P*9TyKpCvcAO3{z#c)*01gKob6Zi5G?!NgSFoC@@z7)Hs-D|OxeX9T&V`I>(7=$*bt2d{YFPKw?~is@EVE`d>w z43X~=0XLft7j6eqH{%<+jHijENy%v@zUG?It@Xa2Esddvl+t&yYj(6w_Se^?y6$|n zm406N1GjY>uZY1$elue>7ZgYc|&VJyq`i0N@^$ z8w%kh({AefTUBfS0KokZk$g$xueaRDEtM8H;wa&xc|5S{&LU?rv>P3jWOtEb4+)82V`4j(T zT=LmUHbW+oOxY2U0zXl^Rv@V@3HJ!RIKq#Jms2F>3syuSh$|w_wlT1Lc4(Q zxL|_;=7hdRLGd`7EQW2AASS1l#|!tacw(pyPv%O0J5*d7`#c~ohT*6xu5JXDM=WUv@)cL^5pJB-GF*F0l*dh zb?4c2Odc~6gs!eIA`Zt&Wn$ z4=2o)AgwDSx~#5Bvz)M3VU`?{4hg{Q1t#pY{=Xx3xwO5!)`r#Hp?i6RN9TB3%g-b+ z%YaEAGVVC`Qbsz~by9Ga*R!?${XXMLF7Em}T|IZzrT%}B$y!>xQHyz(d=o$}U;yG| zkh@6H`GK+u$TJ@R5k=!vJM<6WB6@iLeGZ2$)BnLQs z*uyv?kFwmGcG+KVHk#Ye<*Ap+K~$vF^!L_^YS;7CeeB`9OW{2;Q@2P?nQa+ch#Se( zBl|=U%n8~dU)_X^#vKvXV1%~NH#aoYTvJr_R=+ae0D-!-^V~~ktoVsE>w@sbr`wBJ?QMt!ZRA)MHS;YeJlZS*5x-Xp;!>!tg0}c;Rw$Ari^C z)i(3POS?(>M(fkd)2~wgrFVPF((nEl@3emmcz?r@OQz{IR<<_rPU`Ka#cIuG8E1IQ z%OBa;!ew@lIEome-v0nO%MsBOqZr92c}rbA?RQ?6U+@iMh4yx5#5OlkLa`fZqI;X!7Fn(&juuz)t)XElwTA5kW#4z7vy>Y)u-zlBIA~MmjPE^K zaeF4Zt6N_`!0#n>Fv;b}078VahVsXdSe5y}ZONUk5CRw#a4!IaTk340%Tj}@t{LIU>SmSmhlA#-bbJKQrD9;AEsr+85-b>8!oO!fY zz1zBapPXN}-;ald{ujT8EUp$kOUAm4It8*MgUlAQFglE?yMYNEruA*Ws4TzkpVxdX z$Yq`JCIW+mrB0mTh^;F&lxbRW=6fsrI`6jcPshAb&#C0xKbc|_lBnrCJv833t5rI2 zw@ak;?aI%^?N071Xrqk^eV)cRVuoI>k`5G{#)S&`u77igw;&2ZU@QFr!_wr6icMK4 zxb#tuirU?6-rDScpLm%z+^Swp^Ili`P3qnD{<<8e!LU57XH;odexrY@YEiRpnIyNK z>Fw>vic)0}N~oKpQMHOMniLRgwt{UrTUj|hJ#8NS5`RCD!B#fB6T7lc$tBaXNxeJh zcNY^P-87R8@*S{7o?}3&vdGBWmM7WrGA@@GqjhiUV;HC>tJiz}n;D5Bxw%zw z!Ift~lFs2R@Vn%HFAEbU?W7q#P#b6=TA%gU!t!fbNp{t%_fOENA$Uv^t6hBM14`3B zl_avs`?N_FP|StlblmDZwcgHt>0|o-zpvD7zDT)h`JVp(*Zcx&JC=uYfD(8}E9S`9 z5-j<|alRRyP{@wVau7ZU3|P`vcKiIdxA_^jw@tKLTl~(`Me!4;+bffBZeTEy>Wp2$ z+EG(rSd(-Ci-fW7=vqw-D`S`F>)j#LhT( zCC}(f51QrJTx2B~MLM*g=L_EM6)o)`?)QX~e~Ia3*~V#2T0KravB6wkKtbQ_hM$g7tYD?uw;(r8~^o?~PjO`Z}dIq6# z+GX>RlPg(jT3|1c6_$Ql{2z%t0m0Rb>u~NmczT++;PJlw2KD!8*QXzAO)iRXsI9D~ zlDhq4Ch>O>P1B{FVB=a5vUr>?yEn4tofi39>iHVePE+-h;P>rA@UP=7lrwlM#nyLM zjc*k9S_Yx!XAUnz#rb#rk0RoHqdkJDfX7pNXMFfy5>+%e@AH-Rf z4=T%W(!}Gj)uTfXLYljsNq26_F^W!en|!f^Whpe1XPcVi@Oef96PV+x#}9Wz$(U+Kgh8a+66W+DFRXHTdb{8`$Ku@Pnp>U>()9OO%T1Q@Mj_8MC)_YfBB} zjy`gQI0O zBXD?=Mba%=2b$i*2+XmjBUX^@8&IOS1inH0%-rK7@m}pUMuNI`Ykx26Xy&+qR(nPX@;k{St#xN**H6~vQNUD}!jp=-mHz-s*(<$L*X}-K@u$Y+ zk}KO=d$fu+lqwPalwp4}_l4b2zTc zZ!-~#ocuS5nj5>C)(b1nE`UsJ~JSWS92V$ z#Zh?>dH!5#7Yn(z?%?*4-$SR^#`on(>9=*?ZBBOMUv1JE3|BH1NZjGsHpCyzx?ymw zEUY5Kvc$-w5_W^Zhh1LQZ(DwcOcj-_Z8z%l-}Le-Cao;+$pSR16yeeqRth0NrR0=( zMmO3a3^-lD?**Di30c&WO4r}d&~aVcy4^id#d!Y!NuOHKZmqQObv~tPBGt60B7{g} z)HL=Nwy{ZdJNce##~YEhFjg5IeDqSyTvd~BynZOO(@VAg06xCG4yrTdm8_bQv%jU) zpGJ0G0@u@8(R7Vc2~nDRcqC+#Y?4Ietc@G95(I)+=0`MKP{{Z0<@lo*JqjDO{QQLQ>GU7P)-AdkcN*e^M z6UY%MyKd6eUeP<%gFH((E#{{RUY1%?lL<#B1a z%IU|M>FL|9$E$*?X{8l)J>R0gVlizT%M%>S6oJjWyLL@%Ht>PKz}mo#r#T0ngdCes z`u$h+_aoYiad%5@`&;_zXc%FSbWt>{_)XYyA8=4h#6by=Ios1ax*iMWc3N$v{(XO~ zO=?BdjAoVHnrp4OoxbhA9Y~RGS!OSzl`?DO8TW|zm<}Ir8|u}{zCr%VU-@ z8+jEjqtf3y^?K`m=5fMd;})kEDYbaYGQ3k-a?4#`Tc+&q=wPmuZG^ciC7t53q>hrv zi0T}Ij{-6Sv~(_v67)BFXB5bwAC+L>-QLXwVT^b9M7pC zg{8qpwp*>rK|ktVXuffbD`4Og!5{<0QLehLJ>Ji6Q`3z$;G@XY`nLVu9@;mj%W?(M z?Pr~VU#r2LRmE^r$aX6R$&TBDwzD$h`1&-lP&XfeZaRRd-GXo zrMG(bSG&EpIw;fjHc?qkWfI98Fh7$dVlyzb6G09mj7Ka=4&C9G z0EP!=QP|Mx#V_;o6sacMr6#WR>u^;C$+h(?2KWSkel2h4tQ2?2A| z9Gu|ho~}u=rCKV>`tZecUZ}Tb4TVgJY+)UkC zI;6So?|$BwE8Ik8pCy1r#?!R66daz|8OQ$sTAV33)Vp5lZqH3^wudcgsMB%lC2jll z`5eEAwHs|J#_Im%!a)RVWOg`JRmsWilj+x|rF$4GJn=PSPCLoPeeU0PSLB)V_`F0g zv}#q8OOi5izgCg_>i*Mz6|O!kd|lP=ElW$`-v`^?>6#t8%2q48w-+g?>M%A4EttN^ z3C|m38&3p(aQHXEizmt+Ylx-GipQw?CgW)=JZ_i%1k-m~wPW~i#-1x#u5ApX3sp*v z5xSU{30+GOE>~x7<&V18M}Eh}K0nm1Q$>3?SjBm%yjpdk3+FkzxM#LA1x0BU?V>VV zyGOYj?Bt!hGJkn;QT3O)ypz$l{apMKt9P?XQHxW3eHD{UtM>1y=sp*Q9TUT`Mv)Lw z8(Ua>-n)K zxrOGQwowk*ZdQa%inG5sZnmE zSy7&44(%A7;#gW6jtETb3RG^9SSl+>5dkjByd06=f9up&x=v5^zxfczg)H0?@tluar5A#rfA!8Q@I z%H$xA%nB42SlH)a^9qxir6#oK_jbPfiLSce)!6h~4OK1?pmP+FT%dJUK@d{EH<%b< zbMm=t648-@rMk;qAJ6^;w@m_f?QWl~&bvmtywRt#)b!iCt84pvm$|XjY~`K{+ZS0F z2`#Q+ohGzs$#V?w6mqSdxM5tF+#VYpO05i43RsLiSU6OnS_-8prmbm0NvSP*>)G`; z!(uTQN|CLHuU3U`n33`{LKb_S3vcd3AN;F9|$$x|QA1 zqRFgjw+|!fdbDjCB1-;Jn=8Y&%@;Q2N&acnzwqaboDWZhGq~dL7I161)2N-9-pK4(h5x|cQM zXiiqYG;ZDGedP@2V&^`c4lqDG@%nm!^{>P#B&B4nq54`^dRybj*0KeiW z$+**{{{T>wr)l$VR-{v2M ze?#K2+VaJ#b+w+`Y5jFwkHsnBq>{W^x^Gm~?dPVN>D>9h#lIP)u#Q0tuV^CJONMoo zQdv+dGM(@8nFv;B*bS#BP6_6gJ}Ng?=Iirz>HT-|xZ$MbXMa6B-ny$bq4UnI@wVmE zq`IR#)5Ow8EY}BMX%&JA-2@Q{BWB)!s}@C7jH{z4^Q&VjHF-_6`X^;?PQJSR=b=vp z2_ik;)>uiDr?l-ej0JmSB$G?6JuV z(k@f3@7^g2U5fHl%ql53!L`f1rPcXw{{RHmI7$yrRkD8!dh69b{a1Yi)jl^~WTM<$ zL%(Lx4Di54HjWZ7%NocxMkbI-v7rwm4TLl-bme>9%GSNxx8u{N;nwx_N^7Ol(%h@@ zeZK?C_0NeKo~t^#$m%3151Dg#Zk|hdSOQW*9lQl2a3uZY#58WIrTnm=ds$yuJ?{F+ z@856J=GnYyLMqXUUQ2J1cRb?j##fh2A#x-|BtM(E3e2Z^pDNw%B@s-dGCYza%uvE% zK3av*VkG_DE%Ud1zpmo;QS8UzhfHS|bOVW{Dc@8&zmvoohZXO17U-NMZ`mkN)ba=C;~>;!PDFPJurT%y`ZyRS=r zS2yNsUaHo6>(|ThJnO<&N5Q@<);u$|VWrGw*0e_0869PrBh+l|3Iq@KJD|@KKv^*( z1m3vM93#m$N$q}USuMBaO8av?HuTuJr!^Xy-d0j+H`T6hy31>6>U}riy=~ystThcT zVwV6(kV8UNmNqyCkE|2YRRi7^OQ-=07XOd^bmlax7+BRw+twZiPo{)2$t8 z&2{*ay6oD!+5K+@aUD(=&M>(8a^{3;MmUHitmw(8&Kug@Zr157E`H>G&A%J$yi?)3 z2rjNs>l5TvFzLr++)cJieoYB9J}$aZya^_vc4D$U8s!gfhD(Q3TUYLlLv&1&wg z+5Vk<3!*TvJZ;aHwbDrCA2^eulDNYb+#3K6IXUFV^{@5*XJsX6LF=zJjay{?^klyI zniR-YQ74-;k1v}XYcAG-T^>D-%mEvTQiFlqH|6AAsry~@=(=-y-(7#J77Vb(EMQ3p zl^CYr810OJSIjPUs|@nMoRgdk;-lKyR%+_aww{XGHEUn){{S;qy`t57sqpf4IZQCb#KR%9TBkq~Z4HYOs-%n`8%3=eURwTR=X~xq3m>i7p#bbSaA6sr{l7A;}!9UdKY_lwJ%eTvoV{NLVn2}Dy9zh|T zgyanS4(A!`C*QB1Qf12*+pk@EldY~9or}vDEW{JHZaZZF=yFc{pHe`i-TEy%X}O%I z&1H2LuB%=Ccink?#%R(bk1xA(ys}Es$CYVVvlxTzJdienxv{`G8O2nl+SxDa#x<%t zStV}meg1?p+J#v*F_p;xKn~Hn1rFYRaD|IGA1()cV!EkEmJ3_+d*3#ehZN?cXD6d= zU*y``y{+>baM0Sq%;is(n{c??FulhEIl=GmlUu?PoRUj-W&M6W)Q~;v-6}@iieTcxq}c-AWGzKk(uQlV>b&VY(p_(5t>pra`->om`o%v^r=#(6$(^g z8gPP2$`OsaY`m@cpThX8O>9kin40cWtBI)URFs~sQ%+ZZBg%BvZxndK;{8wjO7t}Q z6{%>6isx6kR*vf6ZAOT#j3nBbJjm2sOEGNnqtc@o%az*77fE^A_fM{xeE$CcCZzAp z(aQQ?YrmG=y6k$-nkJ0}wl)`NwzDF#tR)c@zF~w1aopgCNduph06XBc=C$n7^z-~q zHk*rUX4`S=<*&T|IZy;2-}__l6g=G6E4%Rmf_LfA1EBsB+`tsNUJ+; z;iR~;jyV(uD=d$OihH1ntiWWfWh42YXUaoGCuH6A>G$i>+MRBdeH3jDCwSt_a7sUT zvm+}2%q`Yqxl?9Lhj5j1Bzel=38uF_XHC3Wt%f97NsO~JOA_TU>O^vp=SKTtb&;ec zd2P$H00KK(9aWG<>KamHET|e(K4fqS5W7527#U^xN-$%WEEAD&hca&dTU?hbG_8A{ zr=;sCBycp)xRE27orrXE?7HHHv6=Dy>@%IVg zxW9*Sxm`#_;<;UXzN5eHv6SN7H-3<-cSfSVwC66VA5+3P^K0bl_E!Do&M1N-atiAtt8=pS+w}v$|Gj{=>uKsp4rO!Dnd0O zD7&W#q~gjywnZQvb+()=Bj|w$LBbiO1nnEQDco<2$ypZWyD*?M(_2f z7mbvcEML22*V9G%pXZGnEu^I>K6j2O zS~T90yJ9HWm4L!>y|mi>xBK)u=|#txKPUYy{`7PAx0ixfmM6E7v#?);8TuVk1tyo<45w~pPM+@v$w z+$^Wbk|eo?CVOav&d+SJGP&}JbsCr(+ULM)z|@mzN-@ zmKo$op^htw2|IkU*9&oRaGN(InLAUKh>WxAPAx|7eZS!T2vUx`$?0obPrvXp=a@-x zk#fF4c8XHcnc4$wDS79FEb10;ldZWDrq)zux878R)4t);Rp|P8{)T)i30E<*xVl(X z?B}*9ZcMI>RtVK+mD!5OvdJFg`TqcU`^+sv;$JuTF){{k-4X$Y($OS&o(+*aq}zx; z)-aP39wV5}O0kHSOP4mciE9vBsJilkUS9ngvaU=P1IzroBdFmx~ zG@mqG)3&y@srOB9=VNs)Uv>WgD~-A>I&{_P{zqrwFA&42+S%$bi7loJEwt9MAKzHW zn_-q0MkI-qx39{(nTeD+U7JRgNcPoTJ@)+t2gv!izLs4b@A`B;#P~_^Chx%-m8IRC z(EAMQ5xs>amO*PHPEk>V@D!@6NbTjQcM1R@@%R^uz8^f&m-hBuN1q)=4Ps#ht!fcX z^JyE(q%M`OcNN~({(}$J6lI_|w<*t_aytF@FehmD0 zv)ACZhFid7*dthsfmlA=sZ6j|0ATv?LG7R9d{zQn(u0Mi7p>K`+qREK{cZhOLm%$N z!lIN~i;GWq-s;V7<-N2%>(G2hYkz5OM5&&(sla9ss<|Zn=)D{2zW$%qhka`?P_cm<$1S^MS-BCMF93oV_1&Ctj%$uKi}$R# zt!wqyW9Vx*F&QmTZA;DrjCuws0M#_hm>H!vH4>-6EMnvB-% zUv2*Ys~+tds&<{*O+8y{?7x$JyFQGiXB4tSB#AOe85VU`87^1lDjXhAfDSg2gpf(i zVJ7rZc8c2iztZ~kEx2EBS(aZ5qa8-@e-dYITaTUB{dfGl&WO$P+m)@f)2`m1*2hHFF}w(d{NK#dS2%&M0lzM?1w^}1>Dr5#qiTVJZw{QLc_{{U)j8{ub%Z#4ZL zbhz;q#AX{ySYLFaX5ky;JHGP)>BjH64StKlJSmFJv2-ayjHf!XjAIz9>fgll(IvdT z^YeZ!;=C?Vgs)O{p-wcRHz`VXx=UpCZQDhzy$`|dUs1l-wJl%89wooHxz;s|OFYD} z3U0G37Lk|3e))1x;G?>_{ERF6$AfrchYe-4aMY_f)+|wZ;h{Qa8%YJgXm+s~AZ3 zw40ElLKVpi#EipglK3Nb+Hr-}-*Zdz8cN#l`H@Fw1<#a=5+ z7}cTM9INEAO6pw#umwv^ALoC&`um2Rw^~2z@*WvrSzuNR8_s;WB6gBk!fq%$lB$xs zouhj0Ne~2CGQ%)IqR$FQ>LvR`J4%ap4y|?q{p5|~LJSy@lsaJ$w75S$0+Z z0Dv@`>2tr*Z)Q_6&cV_kjM6SvM~-F;Ruu;=8kvd_BB}Y*G+|WWdb|3LR?^*f{<8 z@s>?%!?s@!HLXG^@AO4|J4%_@35*dl%V}Y8hA3V;JT03?k2*VN8$$#Q{Hx<9ht7>m zM-=6hA0=tJnUxqu>JCaP>u^z5<&{hOYy2~O*Vf1HUK;U)>c*Bum`y2Drs069+x_HX z-|i=Ur5LsB-`b3Ay1Do({{RUC$7?kI0BMeSndOzEZQ-_VNS#Zx;5v)T)-K&-e=+>|VUexm`K1SNfhT5QhBp1`Ze{X8 z4(b|B*#|4=mtB8B9BuFK3=v$%ByzpWx7rZ??#&w1O$V1EG|1n-bk6B5q(vqsU7@2H zR8LONroMk8rhM^RGPQ($lN_{{S!eW1%B5R+>|FZEFM(Lib`ew1FkKnkBhDRlUJmw7H7a{%FYi zJCQRxBg_EXT#gN^H-DS6{Vu%us~CZ!k_HAF zmuHvCw~u(YbhsE=j2hp`^}dVKuV3oR`u@B3{57@AUnFVlR_^NX!b?cT+EB2;clem6^U_f!YO}-+Gz%E z!!t|_FDj5_Ef|ogdK4d9f0w44jk~4(cmBNyq%vChQhk~@7c;G|ogBAIG)v{WFdG#4 zjXNP}ZYH>OUL_$y3bhoS_x`(n3{T7PAbU~_mog$Hv$U95Vu?K5fwjb8LV0T-mhFsU zFrng(667u@T9nFN-pde{_T>U8jnWvN+#6G<5dzbb=@TIcdfSn0DyVz-ISgi zyl)Zc?&zxttGws-Ct(E zAH=rZnsL_mO)K>8Z%@Sa?+Ey=&Qwc?-9!_jd20~!R^r*y3KW$mV+)C4TpiJcZQEre ztEoa2skJp3LQ2}-t(Ka9T}>!gl?n5wt@*j5q?7V@TRo4bJ|6r<)O1Uvxv>l_Qstf{ z6X#%3vIx{1$e|VX#%67;_c9o5ujdaD{4M9HQ#r_KuWGsK;;@NXRa?qblDg(v-U%fp zv`L@PoCo4#RB2^7#b&vAVTHy|?4@}7I;&kCmXg}~_dim;3I5R*cWrHNeLmS)7pnmx zGHxX>z_|;#$2kOg=a1&hc3pVYgz30cgHW6$8%`}fRFn6UwYq43Lgksla)g~#YbO~e z7MgamjMkD*z1_Y?=@*0iW2EcxK&w5w7C_-Vz#RSGoe4SGRN#OJ0FF2{@z|UVN^)&S znJrVb-*=~$nyp*teusk1`IKVh)`>|sbkpm8-9M|Ixo_pm30Nf9sO(~J!OAc^VDK70 zQG>xbJXag*-1=%0jQ!-*t=G@+8!e<#k|b4G_T`;&7?MccjN!Q$&!Ieu^XC`L`PQ%H ze>MGj^*x#utpya-_4i+XwpY7WF}}_qRuO<=S+nw}L-*Ux7*YIK&U%tgeQVFCuO^n3 z*YxdU)P%j%-&Ly9PsQ~rNU|B^MUEwai~`cIZ!~Rvtb`0E)AxgNdm7@aq}p0&w(o1d z%x$KY_rAMY-e2%n%%XP7G+$`7+j6e>G0C)qBml+9Uoto2_;I)ZMnE-mrOPFGHmzi} z{I&l8fK!6AYD=ZAwe!(`UZi(+uo<3FZy%o=AntZa8etxAvM$}Bw>Qeb5&=6;QCd~z za#qL*r^wQjnvX8Fa#ww}+267`>x%`r+L6O5OzRx+i+MuEvK9eZ#y)JZJJLwl zVKQ*QVj)q*>np8Rw{Op{P1ln&l3cpfNh`e_q}slZeKu;^wQaiT>F`Y%M7dXq!k^tR z5^X2%ZIlg?4va8K895ZINlR4kw!WX$zarrIp%lI+zjTt*n%e#v9c7XrM^?5zX5xI# z7_t&hc{~8w#~8pT>4&fN{d%1BTjsspwrkB^{;BJ}x|d86Ngx|o$G0JfAOZl&xAg7b zr57R3-FJ3-EqjppXwl&laRr!3yKH#D#(Q8MfkAG-j%uM7DI~1A>*exhGILGqZnoiU#=WOB=KbrfkDC_9^KxgRrp$2cK#*yErT--n@ArA}0n=CVpRvh%jre~ISe zaa7?=%1@J(?)2#NR(Dtb0Ea&}{{U&f+Y?9dMw_W=dL7hPI+n?xPbNV7T#|tRP)A>0 z0`6jSU#0N31!FTjO&G$2=Q@&#j1*+#?$=!sU1Z&oO7EgSF588CdejRwD#hTxZ_3OVAc&h4IuV-i`utt%khSaeVzndE?D`i$KtPEh6 z$IXTd{jb1$2ZiCBG;39iDrOUcQkN~&7`=HQ{{Wlp%1JxxXJh!Ij=1*~#JGu3r%}_u zQL_u-sa`xW{MJ}QV*2e&Zb0;(ml&3%>H`A*RS>e00;bz9qjbd%H4fS zFD?~sS|bGWm5a=DgtpI+Zir)JEVIOn(ftNGuq|Mwm*r zgngdlY*NQO4I-?w?rV4>kgS3sB#$$z$0Tt`fbSW?){$08K8OXAPx9{n0CgnOd5If4 z$k7=G?l+YyyLR}vX8q>vn^CaILrL$isS%$$wUW2buc54#&!4f$ZMrLQ8!>reDHErc z41lUKO8}LYHbrR~6P1ofLgDK=iE^teYPv5nwQkniu9mmn-{GM;qa)pUMc@GrBk|m| zT+0cHZSwhhNsG)?S)SHeTLW^;7HFD5fQGUQbX%?e0N@v)w}~TxZjX{(q_qhP;z?aR zq-hY&;e@LUj2hVtgKILiunbuchry>S-pLir9#r09w(|RBk|k7`(XH58tdhz$$gXby zT8%RutLYwVOk#8><4;)cqLPqBTGyAxVpvJ=^ouY`sO*bCTUoN|J7cTa-we`~e zU)G1&zXUvQb*JhuMI53HLTgmiY;NIoifJyiw~xz+6h3RsZ5e5ljyHy4+%N!s067>qez2l7yhuN^^yj<2dUV7Pfcm zd!~F3b#u1F#D37PI{8a1u{42hVUx{cJnIbcVrU{S9FdPRbHvXghIT&X_43-@SJ`iFIP}|5}M1d|RRUCwsg~Gf}gh)V*P$~U?U+@PT zIdb2%{SH;8xRM8+OG$F&x2>@GW4d)i2%bB4o+<3v#L>pGBuuWz`(li3Y-;Y8m+JL9 zDWsFK`%Nd^bZq8sh4eE^GQl3nR3T{Q%=YmZWb!PfQ$47X)%=Ion%K_{=cgc%Wlk?#NXPQ}xMp_jSses8ARx%oCb|_NL zyF8@?_Hy4#51m=-{dE4n;1Wy;b%<|Dee~Ofjs@<)~9L zEP<30veR$580z=b&WJ`Xu2`7<&k!+6(oZ^@hiHIAv{`pa6CjdiNdrXENExG*h7`n; znpRIo)mYLpYexOum7iTduaROVo$c(SvP@g=V@X4nd2>Lfug`L$mNOH(!_>T zi0+b1+!|MF?ln?`leXzDmg{fVUgZs4go`%xR+2=CZSA3W)e(PpGs7TU2YI(KXxc^! z#n^+5l_s%$IwjY?`5Zj3-1tW7ORYKPZw*Z>Z+U3<5Z>MC*AA}JOJwjol3ZJcS!TJ8 z6p7)=h>}*wcNW$6Ygcb2{cIiYw@)Sd9>3wQ5u3PDTYL0qWOb9ww|_btm>VpK5I$g% zRUslVWVZ^VX&frCg-H9!Ni}{~wfcD{eg6Q=xJ|*Q7S_9~t-j}V)9^jh!(K1HvY41| z=CagnOqUDDTX3&0DkN82g$?Ei%K3}EBTd+0Uz72dhM9JHrHjGBo(nKnZmePZy7x(1 zv=y(Se)4KvdY`HAmxws*pOX!Ya>d}&j8r8z?P*6>dUCy;?{uB^Ye%W~55f=HgHZ6? zww8L!NFEtLNeqRC2~zlSafJ-oMgf7~fI+Y3ej(tz%O|T+mOlwn3z|xuc++yBJ6$Il ziCHZ#X<4NHXY`j3@s1ZUg*uolRB9%n?I^aDXg1SvoH?$%+Pb}u)bEAgw4aBy*kX_E z(HCqnDC*c#wT@SJU^j8e85r$fnr0a-N<7t6TZ?~Y(q692{ZlH>V^PIAmR(!Y-+Q+H zOXa!tCYRzJH&}sgVR+?7iC8)usf_%`VI1`viuDI03`KmlDun6UQj1SSthCp;_gGwI zI^P7>G=htEz-WR^Q!LoqSAQa1ns6VBY4@@ihsPwV>p z&vK1d1k-YovU}fGzVGrIcV`l!ISafKya9lB0gb@mk_Q>%pzY0ZRHWqjlhyBkC2cZ%j+I@;G6;qu)yxKObuC{6S zS309P_p-8Umu8=)@AB(n7J@ZM;)#CGhh`pIBJROCQd~YzZ@ zc=wO~HTXZlmiIRox~-IPTOkadV*IRe%Mj`nNy34HllbS|%knHnBBWy&PWM-KZ+j~% zC)Ur*@G<%R8xKv&bz+sB{{0rZulNqf-gd}@wW`DB@;B)54t|bOU zIr&tyZJBxirB#aqU%hZgg!t^zr7F{=sbP~&b?ZV=jg_2~FK&5S_Dinp{40+9RLio8 zbEh0atBRCgB^on?pO-RCs4L#>?b-GG#@4ml?Ph5;o9lspBP%iU+&P3w-?~u3Q@Y`l z?lJtz8TLv8;Met!4e*Xt!?Yt$3q~@o;-fr7qj}3kbgzC`-|Y0aQ~48#_`fvb8uF`( zsVL!`pR>cpqvT8M^JtWsOIG^qjwf5!tu2JoJnL%}mz>gF&SOLi<%u?s%*!s}Ara?x zCmtDk6r105qyDUQ2*0@jj$()t zks7c9G=LJG_M46MSWcpV#O;tz@jPewO~VE(k@+JH;$39lhhJ8{Hix zk)rb4nA%p5Ln;Z?-wFY22QiWzo7q2G7*0`dceU*F{QKXSZgV)goC` zGb;S8CiW95MzXMyLpleK$Xl6E7Ku`8g+wSk&$GXf5u}fDGPY%j+Y%Z_E!u9*&idHW ziKDl?0gOY;^J1D92bpgmX<$ES0y8@+-7+dm0)&JHk76phqTJeO`(JPB#*n`?<$Y7N z`n~@EE1U88POClN+F49e5jwGv;bq#98B7V1jKO1;CR4U49UZ`2)()Ju{=ZXY@ZEpG zEnZl(P~F_#$pbRW35>@AOK>JJq{}I|7?dnta;%QNeCA zxbq~8H1_bK$D4r+R}wg76WY2*_Gd^@PHpChiCil;-(bi_zMj^rbsS(LGDfhnCA1Sh z;kMj?5^RY;8)Zv_mt~ofRx*$UD7k9CulNCDvbMRJD~q8Ak!uRa2`B7^-J0PY0;FK8 zEMy6z+TuoLi9sJa$WF;Enpd~$`jvYldMO~hlH5FRFpy00$#Fc80w&lbiU(&cJ!;qo;m>0DZ+&uR(QYkU5Zd00DcM>ac{g%>j!VBYZ~DI_-HB#k7(sR;y0G)BK2xnyqWQXzhDnMD*6z{;YhzsZ7U{b1SXN7FlC&u*0W2B)^5Iu}$iWP<$OhM4zpv~1@;vK1@ABVO`FxH~R3Y~)axC`{%n3k{x0=6aNTxR^ z6`_&wByw!sxU4csG;*jE{{XM+@h%awZLgibuj|mmyfZwoM1tZ+!Y1zIhOcw&tcuG}~J(&En;Bm+Ad%bJq)P_IdpKc&$FxVk%;iSuMPV z4(l_c!!uk&^0RDPL=S0kD@4gCS2fN3Zf;VF))*}#`2q6oWcxJNHlbp8*@ex-X$%V@ z7~^TtA&hP@?sYIM$?^bKxVE_j?}8X4jFl2f*MjL45*WO;+^+zQ_DgqUj$&D3j##CU zcLh)i#wcRAhDC|B3E0a!z|+ME!$2WMmOX*sw2|bAqlK<81VthV7*DTeF$>R-cB$6%c z(;@;Oc65R}h}{d_Gf$B}ijOD9CrDep607 z;-Nu$2_iDYi6oPoJ9#aw{?g`ss|+$v46XKgb~8wgaOW*;^As)#8`y@lt#{4*zmrd< zzwpI1kIlJ?HQ5x>q;U<=3DP@zIDnc(o?>?^N#;C(WQfHhBL{a~gDJ&ZMc3D%({%4= ze!aKb@7RLzqIW9BO81OI(u7j&pE^c`{>_x31Ug^LaSjy9EBzVdS`}yD(dWk) zLA?dQktAt^w$98JDA;T=mxxHkT_HK+@@^yWi!8^f*2?QV6;|7HroE;fUP*5cmD1f< z{ZohhTgTM6>W|US0e;yZ4}4E=Zi7^}j#48oOzNOX zz$>-S2Wi}S+mq@z{Bs||*s2vOFJk@6-AOo2c{J2*==IS3n*qg?>&6e-sX|?1)|-EN z&1<7t+Sa-4squfpT7*J)^?O-EoGB77m^cLTTL(DcgzaKN- zj}T#`tmSuY`I7Rr@2m13{{RaY!|p*%O&nklrNMRM3P@wldmN6v^I87@WlyXn=%W7s zs~c0!Xg@ugZcDGs!PPz_Xb2|%0EvWVU>HXnZZ|XS42ENzB5uZc1A~nG*stt)yFX&z z$^5r&-#_v@VV=UAQc_mvm9D)k{`cDFC4cdUMu*BG`6k;KTyMl``TNLn7Xam3IR$#K z$30ZCTFUR)$CcXGzPIgde)PXn3{HC)LA5pR^ty{{U0S=p-+OtS<=4mCI1ose5Hl+| zY%3UmRXD>8gS2BH5=s24(Wk?eC(8L-T3*Xv{F$%F@G9{lk2HCfuSXl%X`_0zZ%?@M zy>s@Bwt^>;OTy9;LPnAds4O>bWM$eh$;l)RIqm3C;W^a1jTv7}ZL9S6ZNJR(>+xcu zpEX`xH(!PIy}P!)eGixZB>vg(Xo+!a4xqO(%FnXe)t+gx$IDR33zkra8EFb9-ea5r zU!ic{g&DqV;q35|r$+0VwRoyj(t2G=OJ9}xTIl@iKk;KM%Og2f#VJ&^l`2o3rPbBB zBPm(G?^yia_?hwZ#J)SYx?9`(s33QNqPGs)B+S94Nfh-f#IJC zvYeZet~o~?h*oMY(V+&KZs{x3=#}lwZBpF+ed2!>b8OkvrI+*Is8my2^OrSdrKXPd zg}bZD&%XZvI^OG#G~2M=dncD7hgMdGLnX7bylP$D1C?^BtOGXK!xCHdx)@3{sm7Hm zFr!MEN)+K07)2#zXh%iAYyO{*;<3}jP1LPYRjNt8dDU~ArKiN@ChvCpt6ObOYg+M5 zrjKoz3ptzp7T(cRw6`JLOBJoWdy%ALA`Q5ST}qabl}1NYDa)BHEw+j2_xWydPOIhJ zG_Pcu(@j3*roS_V78m;aHl?pfmVr_?)3h{kB3k{Yh_5cyoQuiANU0bn$h0h~z{#>& z^r=!%)>d-=06**R@43M$j(pc|rM_RU;rSf|GN@;E^OoB2Aq@bHc992|%4R`0G0PiD z>%G2Y6Re6#u~VyxZtW}nBrB^l^;fg?FQ?hq+XYAyWY*4I8Dxcofu%9TRisvmEEJS6 zWA=NHuNso(j#%~^oZ5Q6x?BDN+`DT&*)DD*gKfO*8t-XR5#HFh$rNHW!Xo7D$`v_{ zRmrMaY_v0LPe1Fg{1X2FnX|?zk3jO5>CjwqK|M?lr*rkl0TZ!@c#gLq7|x1 zbV5$w*ZG>BSh)f02MnBB#2}AkW{G2Y`+vwEcEj8UY+|IGTXdu z0yL2b<4I(n=ko4dg4^v; zTtc%qmjMO5hB5(S5+`*JGomyiN}N*HSNDFP)}DXxf5_Ojj_1roR^E4fJ` zitVQ_Z6tEU<#x#7<0|r~7Qu;>e9^20OTxv*8J3SfkrAGf=6c&rI_tH+8~&$br*C*s z*UXM)f_Ii#;kR;Qw|0UiMO51aIVD(@SB#QEn2NPCGFT*d?iXvxCA-g<<5Yu|V$|EHwCMdUZM?jXo^EfZj3dc#t8`rits+cr zTo}c>C=y((9!Y_h&4Y9K!g6>C9^D@Q0N2dn(LJoYbuf|TlHxM=vpPk0ddBflBbnv3 zjef?aM3pR>-c7q=R*~1Pa=zNF%9fvKy1GkChG?RW5iP~L+z8zaW#p7x4>eXqk2@4_T(({Awd?-?3^gascdnM( zp_k>^tXm|ym6_seW%JfF7S{I6Wq2bk<`|@Kn_-IH5{W#eE+pmJsw&AX>`a~8cKgXo z!1GS`@k1rm!#dr?FPjtEptthlwOHhDGU20<6kNYl})zTH>5Dh zHRu9IS$9J#L2a~MdE#LpnH$Vjg+i>ZRuHa!N(1`;0EYg$lS43$+V$oSE#=9HQV|P< zdwYq?NU1#LNm#Iq$hQV5e8LhZnPZSDgEOzKqiAEC`I1`+AhJmTh8WSOooBo*B4cqZ zJEm26B8in%k~WP(kw7bT>C>z7zRT5-tgSqMypl9|(n!aVNf#@CJqoWKywdGCc>$55h*_B8W|g6V+^$R(h-U`c$I4cbuq9~Kys!gEO{qz@ zYwGXaef{6BnKahFW{yv@%`uiMyNKhsvO@Q=D}ALB+DK-c#~R!)F-(x`F~^e3+qRI| zO*<&r{p|chU4v5lifk)OC(XqVz-hXGhk;;j*Kv;nxB!axNr3q-(mbJ8L?)J61 zoiyvpFXDTrd$jN7(@)EFrkf*H!^W3-QbcWKnJ|dT_Scd`OZ=*2Vhn-aRt8A}ss!Z* z1{SlG;CV!G6djIN%Z^49HdZFG8WpRMU1wRekb zQaJA}l6lFRIbn|U#%<+E8DovZ#CVwpnG35hC|4{FK>3_Uf>;*X!)7ij`g>|T_E!Gw zPMz)YKD!CyUM?_$#AVlgT`JA#_FbhEl6%_i`JE^HHO2d0gp$$Bl42Q&xQ=)Z@~iu{ z8*s?XyN(K}4l{sFaK8m=B>8g;J4PS-yl=v#6)X-eGizlyO7GUz zw`Baa?VUgEHLF{s@j+!W!{$GflHVk1%FMoF?gCa=cR3;CDyYt|=OY7Z9t=VWdrWl% z)!bAlPFB}%irsYYxsD^o>T`d)%W+at(cZN<+REFj_SKw~=j|=xd6UY8?QNo#J<++6 zOVU|b7b>wVXE|0?RzE(@cI1)n;e05{s3^-7iLF}6b4HywLMblI%5QGp@K2h>__vwY zztymGuG`)z_X#wA=>{noU8j7@42v!pk_2)i26;C| z%nF8G)%7r&jDebCjhnXDMB`FL~Qny}I|g%3f>I zDn}!-EOu=B*LuJZlvUm)aICDdnA~SRX;;-o!h>e zZtwUdyY(@ZNXc3W$*%fZ{dzloMg22KwSw?oYBNKq>nC%|dvZYvS|2@Nwu31aoSPO^ zi|pXMg_T>(eWdkMj8eUo`}O;^TKRez^4arE+vfMZ{_P)KOA^T=wnDAEP{qDU1SAsg zA~K^RgiJ%SNMu48<#fR~Y}TeS)>3P~-@dE*vK<Roh!mF%1+>|=2@H@jPaDdyB$CWxdzoZMU<{KykL19%@4e-j zqyj6cUEO@V1z>0fxwo2Iz=JY75D=xjlE$%-<|HvJiq8o9LJ3i}$Q-8DB^H62uuE*S z!t#FYVre6cv<{6MLWmCOCz=H@q*6Prvk@bh@Z%(IOL6X`y z#4<{DG_gEvXI;_|kupD&@I|;fMw{bdw24q%SbN?6Ry8f7i3C$i0)^Vh7I_&G2;Mhg z8c7v8Qw(lyi*p+nPy}ql@W%=$~nbJiM?eEkxtOO1Vg$3up?5THf>U(Rm?nyNZCMsYaCXlM{`NS+Dlrl^ g#f^}wNE{5M2-^2+eY&;N=iF}ESvP*qW&JS!*^^VM=>Px# literal 0 HcmV?d00001 diff --git a/packages/website/ts/pages/about/team.tsx b/packages/website/ts/pages/about/team.tsx index 14dfbf8c91..ec0b7a4001 100644 --- a/packages/website/ts/pages/about/team.tsx +++ b/packages/website/ts/pages/about/team.tsx @@ -188,6 +188,11 @@ const team: TeamMember[] = [ name: 'Theo Gonella', title: 'Product Manager', }, + { + imageUrl: '/images/team/alext.jpg', + name: 'Alex Towle', + title: 'Engineer', + }, ]; const advisors: TeamMember[] = [ From 97a8c6e5afa50ab6b3cf2be00c2acf5cad20ce53 Mon Sep 17 00:00:00 2001 From: David Sun Date: Tue, 23 Jul 2019 10:27:55 -0700 Subject: [PATCH 002/162] Updated CHANGELOG.json --- packages/asset-swapper/CHANGELOG.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/asset-swapper/CHANGELOG.json b/packages/asset-swapper/CHANGELOG.json index 4557ada8a2..bf4b06b803 100644 --- a/packages/asset-swapper/CHANGELOG.json +++ b/packages/asset-swapper/CHANGELOG.json @@ -1,4 +1,18 @@ [ + { + "timestamp": 1563193019, + "version": "0.1.4", + "changes": [ + { + "note": "Switched MarketOperation type to enum and expanded default constants configuration", + "pr": 1959 + }, + { + "note": "Added additional options to control asset-swapper behavior and optimized consumer output", + "pr": 1966 + } + ] + }, { "timestamp": 1563193019, "version": "0.0.4", From b7337410aa55e4c7b677ea3440331c3bb2c5b82a Mon Sep 17 00:00:00 2001 From: Jacob Evans Date: Wed, 24 Jul 2019 17:27:46 +1000 Subject: [PATCH 003/162] Fix Vote router link root --- packages/website/ts/pages/governance/vote_index_card.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/website/ts/pages/governance/vote_index_card.tsx b/packages/website/ts/pages/governance/vote_index_card.tsx index b5a3c63d29..cdb510a75e 100644 --- a/packages/website/ts/pages/governance/vote_index_card.tsx +++ b/packages/website/ts/pages/governance/vote_index_card.tsx @@ -70,7 +70,7 @@ export const VoteIndexCard: React.StatelessComponent = ({ const totalBalances = getTotalBalancesString(tally); const isPastProposal = voteTime === undefined; return ( - +
Date: Wed, 24 Jul 2019 01:50:00 -0700 Subject: [PATCH 004/162] Updated CHANGELOGS --- contracts/asset-proxy/CHANGELOG.json | 9 ++++++ contracts/asset-proxy/CHANGELOG.md | 4 +++ contracts/coordinator/CHANGELOG.json | 9 ++++++ contracts/coordinator/CHANGELOG.md | 4 +++ contracts/dev-utils/CHANGELOG.json | 9 ++++++ contracts/dev-utils/CHANGELOG.md | 4 +++ contracts/erc1155/CHANGELOG.json | 9 ++++++ contracts/erc1155/CHANGELOG.md | 4 +++ contracts/erc20/CHANGELOG.json | 9 ++++++ contracts/erc20/CHANGELOG.md | 4 +++ contracts/erc721/CHANGELOG.json | 9 ++++++ contracts/erc721/CHANGELOG.md | 4 +++ contracts/exchange-forwarder/CHANGELOG.json | 9 ++++++ contracts/exchange-forwarder/CHANGELOG.md | 4 +++ contracts/exchange-libs/CHANGELOG.json | 9 ++++++ contracts/exchange-libs/CHANGELOG.md | 4 +++ contracts/exchange/CHANGELOG.json | 9 ++++++ contracts/exchange/CHANGELOG.md | 4 +++ contracts/extensions/CHANGELOG.json | 9 ++++++ contracts/extensions/CHANGELOG.md | 4 +++ contracts/multisig/CHANGELOG.json | 9 ++++++ contracts/multisig/CHANGELOG.md | 4 +++ contracts/test-utils/CHANGELOG.json | 9 ++++++ contracts/test-utils/CHANGELOG.md | 4 +++ contracts/utils/CHANGELOG.json | 9 ++++++ contracts/utils/CHANGELOG.md | 4 +++ packages/0x.js/CHANGELOG.json | 3 +- packages/0x.js/CHANGELOG.md | 4 +++ packages/abi-gen-templates/CHANGELOG.json | 3 +- packages/abi-gen-templates/CHANGELOG.md | 7 +++++ packages/abi-gen-wrappers/CHANGELOG.json | 9 ++++++ packages/abi-gen-wrappers/CHANGELOG.md | 5 +++ .../src/generated-wrappers/coordinator.ts | 5 --- .../src/generated-wrappers/dutch_auction.ts | 7 ----- .../src/generated-wrappers/exchange.ts | 31 ------------------- .../src/generated-wrappers/forwarder.ts | 8 ----- .../src/generated-wrappers/order_validator.ts | 10 ------ packages/abi-gen/CHANGELOG.json | 3 +- packages/abi-gen/CHANGELOG.md | 10 ++++++ packages/assert/CHANGELOG.json | 9 ++++++ packages/assert/CHANGELOG.md | 4 +++ packages/asset-buyer/CHANGELOG.json | 9 ++++++ packages/asset-buyer/CHANGELOG.md | 4 +++ packages/asset-swapper/CHANGELOG.json | 9 ++++++ packages/asset-swapper/CHANGELOG.md | 4 +++ packages/base-contract/CHANGELOG.json | 9 ++++++ packages/base-contract/CHANGELOG.md | 4 +++ packages/connect/CHANGELOG.json | 9 ++++++ packages/connect/CHANGELOG.md | 4 +++ packages/contract-artifacts/CHANGELOG.json | 9 ++++++ packages/contract-artifacts/CHANGELOG.md | 4 +++ packages/contract-wrappers/CHANGELOG.json | 3 +- packages/contract-wrappers/CHANGELOG.md | 4 +++ packages/contracts-gen/CHANGELOG.json | 9 ++++++ packages/contracts-gen/CHANGELOG.md | 4 +++ packages/dev-utils/CHANGELOG.json | 9 ++++++ packages/dev-utils/CHANGELOG.md | 4 +++ packages/ethereum-types/CHANGELOG.json | 3 +- packages/ethereum-types/CHANGELOG.md | 4 +++ packages/fill-scenarios/CHANGELOG.json | 9 ++++++ packages/fill-scenarios/CHANGELOG.md | 4 +++ packages/json-schemas/CHANGELOG.json | 3 +- packages/json-schemas/CHANGELOG.md | 4 +++ packages/migrations/CHANGELOG.json | 9 ++++++ packages/migrations/CHANGELOG.md | 4 +++ packages/order-utils/CHANGELOG.json | 3 +- packages/order-utils/CHANGELOG.md | 4 +++ packages/order-watcher/CHANGELOG.json | 9 ++++++ packages/order-watcher/CHANGELOG.md | 4 +++ packages/react-docs/CHANGELOG.json | 9 ++++++ packages/react-docs/CHANGELOG.md | 4 +++ packages/react-shared/CHANGELOG.json | 9 ++++++ packages/react-shared/CHANGELOG.md | 4 +++ packages/sol-compiler/CHANGELOG.json | 3 +- packages/sol-compiler/CHANGELOG.md | 4 +++ packages/sol-coverage/CHANGELOG.json | 9 ++++++ packages/sol-coverage/CHANGELOG.md | 4 +++ packages/sol-doc/CHANGELOG.json | 9 ++++++ packages/sol-doc/CHANGELOG.md | 4 +++ packages/sol-profiler/CHANGELOG.json | 9 ++++++ packages/sol-profiler/CHANGELOG.md | 4 +++ packages/sol-resolver/CHANGELOG.json | 9 ++++++ packages/sol-resolver/CHANGELOG.md | 4 +++ packages/sol-trace/CHANGELOG.json | 9 ++++++ packages/sol-trace/CHANGELOG.md | 4 +++ packages/sol-tracing-utils/CHANGELOG.json | 9 ++++++ packages/sol-tracing-utils/CHANGELOG.md | 4 +++ packages/sra-spec/CHANGELOG.json | 9 ++++++ packages/sra-spec/CHANGELOG.md | 4 +++ packages/subproviders/CHANGELOG.json | 3 +- packages/subproviders/CHANGELOG.md | 4 +++ packages/types/CHANGELOG.json | 9 ++++++ packages/types/CHANGELOG.md | 4 +++ packages/typescript-typings/CHANGELOG.json | 9 ++++++ packages/typescript-typings/CHANGELOG.md | 4 +++ packages/utils/CHANGELOG.json | 9 ++++++ packages/utils/CHANGELOG.md | 4 +++ packages/web3-wrapper/CHANGELOG.json | 3 +- packages/web3-wrapper/CHANGELOG.md | 4 +++ 99 files changed, 551 insertions(+), 71 deletions(-) diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index 7609de5297..2bb182dc61 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.2.3", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "2.2.2", diff --git a/contracts/asset-proxy/CHANGELOG.md b/contracts/asset-proxy/CHANGELOG.md index ced104961f..88cb8ef461 100644 --- a/contracts/asset-proxy/CHANGELOG.md +++ b/contracts/asset-proxy/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.2.3 - _July 24, 2019_ + + * Dependencies updated + ## v2.2.2 - _July 15, 2019_ * Dependencies updated diff --git a/contracts/coordinator/CHANGELOG.json b/contracts/coordinator/CHANGELOG.json index de5ca2b982..35cf589758 100644 --- a/contracts/coordinator/CHANGELOG.json +++ b/contracts/coordinator/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.0.8", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "2.0.7", diff --git a/contracts/coordinator/CHANGELOG.md b/contracts/coordinator/CHANGELOG.md index 1659fe009e..c07afc39e1 100644 --- a/contracts/coordinator/CHANGELOG.md +++ b/contracts/coordinator/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.8 - _July 24, 2019_ + + * Dependencies updated + ## v2.0.7 - _July 15, 2019_ * Dependencies updated diff --git a/contracts/dev-utils/CHANGELOG.json b/contracts/dev-utils/CHANGELOG.json index 59e0f0ab6d..571e851bd5 100644 --- a/contracts/dev-utils/CHANGELOG.json +++ b/contracts/dev-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "0.0.5", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "0.0.4", diff --git a/contracts/dev-utils/CHANGELOG.md b/contracts/dev-utils/CHANGELOG.md index 4a8c0420a3..149be204cf 100644 --- a/contracts/dev-utils/CHANGELOG.md +++ b/contracts/dev-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v0.0.5 - _July 24, 2019_ + + * Dependencies updated + ## v0.0.4 - _July 15, 2019_ * Dependencies updated diff --git a/contracts/erc1155/CHANGELOG.json b/contracts/erc1155/CHANGELOG.json index 19a6b5d508..fcea4be201 100644 --- a/contracts/erc1155/CHANGELOG.json +++ b/contracts/erc1155/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "1.1.10", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "1.1.9", diff --git a/contracts/erc1155/CHANGELOG.md b/contracts/erc1155/CHANGELOG.md index bb969015c0..64e1afc8d7 100644 --- a/contracts/erc1155/CHANGELOG.md +++ b/contracts/erc1155/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v1.1.10 - _July 24, 2019_ + + * Dependencies updated + ## v1.1.9 - _July 15, 2019_ * Dependencies updated diff --git a/contracts/erc20/CHANGELOG.json b/contracts/erc20/CHANGELOG.json index 0151b32f3b..747f40cc48 100644 --- a/contracts/erc20/CHANGELOG.json +++ b/contracts/erc20/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.2.9", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "2.2.8", diff --git a/contracts/erc20/CHANGELOG.md b/contracts/erc20/CHANGELOG.md index a77399445a..dd972fcd05 100644 --- a/contracts/erc20/CHANGELOG.md +++ b/contracts/erc20/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.2.9 - _July 24, 2019_ + + * Dependencies updated + ## v2.2.8 - _July 15, 2019_ * Dependencies updated diff --git a/contracts/erc721/CHANGELOG.json b/contracts/erc721/CHANGELOG.json index 6aacaf1a84..fd81866b54 100644 --- a/contracts/erc721/CHANGELOG.json +++ b/contracts/erc721/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.1.10", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "2.1.9", diff --git a/contracts/erc721/CHANGELOG.md b/contracts/erc721/CHANGELOG.md index 89b0ca1f60..55daf35a63 100644 --- a/contracts/erc721/CHANGELOG.md +++ b/contracts/erc721/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.10 - _July 24, 2019_ + + * Dependencies updated + ## v2.1.9 - _July 15, 2019_ * Dependencies updated diff --git a/contracts/exchange-forwarder/CHANGELOG.json b/contracts/exchange-forwarder/CHANGELOG.json index aeb24117b9..18d8efdbe0 100644 --- a/contracts/exchange-forwarder/CHANGELOG.json +++ b/contracts/exchange-forwarder/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "3.0.7", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "3.0.6", diff --git a/contracts/exchange-forwarder/CHANGELOG.md b/contracts/exchange-forwarder/CHANGELOG.md index 793b199e8f..c8f5f13699 100644 --- a/contracts/exchange-forwarder/CHANGELOG.md +++ b/contracts/exchange-forwarder/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.0.7 - _July 24, 2019_ + + * Dependencies updated + ## v3.0.6 - _July 15, 2019_ * Dependencies updated diff --git a/contracts/exchange-libs/CHANGELOG.json b/contracts/exchange-libs/CHANGELOG.json index a6fc278098..12596d4cfc 100644 --- a/contracts/exchange-libs/CHANGELOG.json +++ b/contracts/exchange-libs/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "3.0.3", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "3.0.2", diff --git a/contracts/exchange-libs/CHANGELOG.md b/contracts/exchange-libs/CHANGELOG.md index 9186bfb711..a6cdcbcfbb 100644 --- a/contracts/exchange-libs/CHANGELOG.md +++ b/contracts/exchange-libs/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.0.3 - _July 24, 2019_ + + * Dependencies updated + ## v3.0.2 - _July 15, 2019_ * Dependencies updated diff --git a/contracts/exchange/CHANGELOG.json b/contracts/exchange/CHANGELOG.json index 091d78b70b..24ef8ca438 100644 --- a/contracts/exchange/CHANGELOG.json +++ b/contracts/exchange/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.1.9", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "2.1.8", diff --git a/contracts/exchange/CHANGELOG.md b/contracts/exchange/CHANGELOG.md index 00bc84dc04..16d81d6461 100644 --- a/contracts/exchange/CHANGELOG.md +++ b/contracts/exchange/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.9 - _July 24, 2019_ + + * Dependencies updated + ## v2.1.8 - _July 15, 2019_ * Dependencies updated diff --git a/contracts/extensions/CHANGELOG.json b/contracts/extensions/CHANGELOG.json index de8d8b42f6..5f75e76dd4 100644 --- a/contracts/extensions/CHANGELOG.json +++ b/contracts/extensions/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "4.0.3", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "4.0.2", diff --git a/contracts/extensions/CHANGELOG.md b/contracts/extensions/CHANGELOG.md index af45997315..59c39d1ca5 100644 --- a/contracts/extensions/CHANGELOG.md +++ b/contracts/extensions/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.0.3 - _July 24, 2019_ + + * Dependencies updated + ## v4.0.2 - _July 15, 2019_ * Dependencies updated diff --git a/contracts/multisig/CHANGELOG.json b/contracts/multisig/CHANGELOG.json index f944f2ec4c..813c863169 100644 --- a/contracts/multisig/CHANGELOG.json +++ b/contracts/multisig/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "3.1.9", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "3.1.8", diff --git a/contracts/multisig/CHANGELOG.md b/contracts/multisig/CHANGELOG.md index 931c7d2746..6323f4107e 100644 --- a/contracts/multisig/CHANGELOG.md +++ b/contracts/multisig/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.9 - _July 24, 2019_ + + * Dependencies updated + ## v3.1.8 - _July 15, 2019_ * Dependencies updated diff --git a/contracts/test-utils/CHANGELOG.json b/contracts/test-utils/CHANGELOG.json index 7a633b7fe0..ee41c7d9e9 100644 --- a/contracts/test-utils/CHANGELOG.json +++ b/contracts/test-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "3.1.11", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "3.1.10", diff --git a/contracts/test-utils/CHANGELOG.md b/contracts/test-utils/CHANGELOG.md index 6640707ebc..3ab312d1a9 100644 --- a/contracts/test-utils/CHANGELOG.md +++ b/contracts/test-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.11 - _July 24, 2019_ + + * Dependencies updated + ## v3.1.10 - _July 15, 2019_ * Dependencies updated diff --git a/contracts/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index f66bdd752f..a91f202bc3 100644 --- a/contracts/utils/CHANGELOG.json +++ b/contracts/utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "3.1.10", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "3.1.9", diff --git a/contracts/utils/CHANGELOG.md b/contracts/utils/CHANGELOG.md index f95b2ed720..e2fb417cde 100644 --- a/contracts/utils/CHANGELOG.md +++ b/contracts/utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.10 - _July 24, 2019_ + + * Dependencies updated + ## v3.1.9 - _July 15, 2019_ * Dependencies updated diff --git a/packages/0x.js/CHANGELOG.json b/packages/0x.js/CHANGELOG.json index abfe801643..7fde315b0f 100644 --- a/packages/0x.js/CHANGELOG.json +++ b/packages/0x.js/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "re-export new ethereum-types type, TupleDataItem", "pr": 1919 } - ] + ], + "timestamp": 1563957393 }, { "timestamp": 1563193019, diff --git a/packages/0x.js/CHANGELOG.md b/packages/0x.js/CHANGELOG.md index d19f9a6816..793585dbc7 100644 --- a/packages/0x.js/CHANGELOG.md +++ b/packages/0x.js/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v6.0.13 - _July 24, 2019_ + + * re-export new ethereum-types type, TupleDataItem (#1919) + ## v6.0.12 - _July 15, 2019_ * Dependencies updated diff --git a/packages/abi-gen-templates/CHANGELOG.json b/packages/abi-gen-templates/CHANGELOG.json index b9b463acbe..42f193d1ea 100644 --- a/packages/abi-gen-templates/CHANGELOG.json +++ b/packages/abi-gen-templates/CHANGELOG.json @@ -18,7 +18,8 @@ "note": "Python: normalize bytes parameters in wrapper methods", "pr": 1919 } - ] + ], + "timestamp": 1563957393 }, { "timestamp": 1563006338, diff --git a/packages/abi-gen-templates/CHANGELOG.md b/packages/abi-gen-templates/CHANGELOG.md index 53da19d515..faaab2a2fa 100644 --- a/packages/abi-gen-templates/CHANGELOG.md +++ b/packages/abi-gen-templates/CHANGELOG.md @@ -5,6 +5,13 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.3.0 - _July 24, 2019_ + + * Python: fix broken event handling (#1919) + * Python: custom validator class support (#1919) + * Python: linter fixes (#1919) + * Python: normalize bytes parameters in wrapper methods (#1919) + ## v2.2.1 - _July 13, 2019_ * Dependencies updated diff --git a/packages/abi-gen-wrappers/CHANGELOG.json b/packages/abi-gen-wrappers/CHANGELOG.json index f132b29808..b58bfaf9dc 100644 --- a/packages/abi-gen-wrappers/CHANGELOG.json +++ b/packages/abi-gen-wrappers/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "5.0.3", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "5.0.2", diff --git a/packages/abi-gen-wrappers/CHANGELOG.md b/packages/abi-gen-wrappers/CHANGELOG.md index 3fff8c98f4..14f1e1e0a7 100644 --- a/packages/abi-gen-wrappers/CHANGELOG.md +++ b/packages/abi-gen-wrappers/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.0.3 - _July 24, 2019_ + + * Dependencies updated + ## v5.0.2 - _July 15, 2019_ * Dependencies updated @@ -18,6 +22,7 @@ CHANGELOG * Wrappers no longer require passing in the contract ABI at instantiation (#1883) * Contract addresses now re-exported from @0x/contract-addresses (#1883) * Update wrappers to include parameter assertions (#1823) + * Update wrappers to normalize address inputs to lowercase (#1951) * Update wrappers to include `getABIEncodedTransactionData` for view and pure functions (#1863) ## v4.3.0 - _May 10, 2019_ diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts index 1d86697b3d..e75aec7ae0 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts @@ -702,7 +702,6 @@ export class CoordinatorContract extends BaseContract { { name: 'transaction', type: 'tuple', - components: [ { name: 'salt', @@ -736,7 +735,6 @@ export class CoordinatorContract extends BaseContract { { name: 'approval', type: 'tuple', - components: [ { name: 'txOrigin', @@ -774,7 +772,6 @@ export class CoordinatorContract extends BaseContract { { name: 'transaction', type: 'tuple', - components: [ { name: 'salt', @@ -833,7 +830,6 @@ export class CoordinatorContract extends BaseContract { { name: 'transaction', type: 'tuple', - components: [ { name: 'salt', @@ -885,7 +881,6 @@ export class CoordinatorContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts index 5073a0d510..bb8ef3ad4b 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts @@ -603,7 +603,6 @@ export class DutchAuctionContract extends BaseContract { { name: 'order', type: 'tuple', - components: [ { name: 'makerAddress', @@ -661,7 +660,6 @@ export class DutchAuctionContract extends BaseContract { { name: 'auctionDetails', type: 'tuple', - components: [ { name: 'beginTimeSeconds', @@ -700,7 +698,6 @@ export class DutchAuctionContract extends BaseContract { { name: 'buyOrder', type: 'tuple', - components: [ { name: 'makerAddress', @@ -755,7 +752,6 @@ export class DutchAuctionContract extends BaseContract { { name: 'sellOrder', type: 'tuple', - components: [ { name: 'makerAddress', @@ -821,12 +817,10 @@ export class DutchAuctionContract extends BaseContract { { name: 'matchedFillResults', type: 'tuple', - components: [ { name: 'left', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -849,7 +843,6 @@ export class DutchAuctionContract extends BaseContract { { name: 'right', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts index 485bc8c1dd..4f849c1873 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts @@ -4642,7 +4642,6 @@ export class ExchangeContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -4708,7 +4707,6 @@ export class ExchangeContract extends BaseContract { { name: 'totalFillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -4780,7 +4778,6 @@ export class ExchangeContract extends BaseContract { { name: 'leftOrder', type: 'tuple', - components: [ { name: 'makerAddress', @@ -4835,7 +4832,6 @@ export class ExchangeContract extends BaseContract { { name: 'rightOrder', type: 'tuple', - components: [ { name: 'makerAddress', @@ -4901,12 +4897,10 @@ export class ExchangeContract extends BaseContract { { name: 'matchedFillResults', type: 'tuple', - components: [ { name: 'left', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -4929,7 +4923,6 @@ export class ExchangeContract extends BaseContract { { name: 'right', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -4966,7 +4959,6 @@ export class ExchangeContract extends BaseContract { { name: 'order', type: 'tuple', - components: [ { name: 'makerAddress', @@ -5032,7 +5024,6 @@ export class ExchangeContract extends BaseContract { { name: 'fillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -5082,7 +5073,6 @@ export class ExchangeContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -5147,7 +5137,6 @@ export class ExchangeContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -5213,7 +5202,6 @@ export class ExchangeContract extends BaseContract { { name: 'totalFillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -5258,7 +5246,6 @@ export class ExchangeContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -5324,7 +5311,6 @@ export class ExchangeContract extends BaseContract { { name: 'totalFillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -5393,7 +5379,6 @@ export class ExchangeContract extends BaseContract { { name: 'order', type: 'tuple', - components: [ { name: 'makerAddress', @@ -5459,7 +5444,6 @@ export class ExchangeContract extends BaseContract { { name: 'fillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -5531,7 +5515,6 @@ export class ExchangeContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -5597,7 +5580,6 @@ export class ExchangeContract extends BaseContract { { name: 'totalFillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -5628,7 +5610,6 @@ export class ExchangeContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -5686,7 +5667,6 @@ export class ExchangeContract extends BaseContract { { name: '', type: 'tuple[]', - components: [ { name: 'orderStatus', @@ -5777,7 +5757,6 @@ export class ExchangeContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -5843,7 +5822,6 @@ export class ExchangeContract extends BaseContract { { name: 'totalFillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -5874,7 +5852,6 @@ export class ExchangeContract extends BaseContract { { name: 'order', type: 'tuple', - components: [ { name: 'makerAddress', @@ -5940,7 +5917,6 @@ export class ExchangeContract extends BaseContract { { name: 'fillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -6011,7 +5987,6 @@ export class ExchangeContract extends BaseContract { { name: 'order', type: 'tuple', - components: [ { name: 'makerAddress', @@ -6069,7 +6044,6 @@ export class ExchangeContract extends BaseContract { { name: 'orderInfo', type: 'tuple', - components: [ { name: 'orderStatus', @@ -6096,7 +6070,6 @@ export class ExchangeContract extends BaseContract { { name: 'order', type: 'tuple', - components: [ { name: 'makerAddress', @@ -6198,7 +6171,6 @@ export class ExchangeContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -6264,7 +6236,6 @@ export class ExchangeContract extends BaseContract { { name: 'totalFillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -6309,7 +6280,6 @@ export class ExchangeContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -6375,7 +6345,6 @@ export class ExchangeContract extends BaseContract { { name: 'totalFillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts index d744d34ba7..d183a2261c 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts @@ -1117,7 +1117,6 @@ export class ForwarderContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -1180,7 +1179,6 @@ export class ForwarderContract extends BaseContract { { name: 'feeOrders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -1250,7 +1248,6 @@ export class ForwarderContract extends BaseContract { { name: 'orderFillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -1273,7 +1270,6 @@ export class ForwarderContract extends BaseContract { { name: 'feeOrderFillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -1336,7 +1332,6 @@ export class ForwarderContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -1395,7 +1390,6 @@ export class ForwarderContract extends BaseContract { { name: 'feeOrders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -1465,7 +1459,6 @@ export class ForwarderContract extends BaseContract { { name: 'orderFillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', @@ -1488,7 +1481,6 @@ export class ForwarderContract extends BaseContract { { name: 'feeOrderFillResults', type: 'tuple', - components: [ { name: 'makerAssetFilledAmount', diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts index 76b38de9f3..bf0e009c32 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts @@ -684,7 +684,6 @@ export class OrderValidatorContract extends BaseContract { { name: 'order', type: 'tuple', - components: [ { name: 'makerAddress', @@ -746,7 +745,6 @@ export class OrderValidatorContract extends BaseContract { { name: 'orderInfo', type: 'tuple', - components: [ { name: 'orderStatus', @@ -765,7 +763,6 @@ export class OrderValidatorContract extends BaseContract { { name: 'traderInfo', type: 'tuple', - components: [ { name: 'makerBalance', @@ -839,7 +836,6 @@ export class OrderValidatorContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -901,7 +897,6 @@ export class OrderValidatorContract extends BaseContract { { name: 'ordersInfo', type: 'tuple[]', - components: [ { name: 'orderStatus', @@ -920,7 +915,6 @@ export class OrderValidatorContract extends BaseContract { { name: 'tradersInfo', type: 'tuple[]', - components: [ { name: 'makerBalance', @@ -967,7 +961,6 @@ export class OrderValidatorContract extends BaseContract { { name: 'orders', type: 'tuple[]', - components: [ { name: 'makerAddress', @@ -1029,7 +1022,6 @@ export class OrderValidatorContract extends BaseContract { { name: '', type: 'tuple[]', - components: [ { name: 'makerBalance', @@ -1126,7 +1118,6 @@ export class OrderValidatorContract extends BaseContract { { name: 'order', type: 'tuple', - components: [ { name: 'makerAddress', @@ -1188,7 +1179,6 @@ export class OrderValidatorContract extends BaseContract { { name: 'traderInfo', type: 'tuple', - components: [ { name: 'makerBalance', diff --git a/packages/abi-gen/CHANGELOG.json b/packages/abi-gen/CHANGELOG.json index af73fccfc8..fabb9ff061 100644 --- a/packages/abi-gen/CHANGELOG.json +++ b/packages/abi-gen/CHANGELOG.json @@ -30,7 +30,8 @@ "note": "lots of fixes to satisfy linters of generated Python code", "pr": 1919 } - ] + ], + "timestamp": 1563957393 }, { "timestamp": 1563047529, diff --git a/packages/abi-gen/CHANGELOG.md b/packages/abi-gen/CHANGELOG.md index f3c82e82a4..824418b533 100644 --- a/packages/abi-gen/CHANGELOG.md +++ b/packages/abi-gen/CHANGELOG.md @@ -5,6 +5,16 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.1 - _July 24, 2019_ + + * Python method parameters are now in snake case (#1919) + * Python wrappers now support tuples in method parameters (#1919) + * document Python method's bytes params as requiring UTF-8 (#1919) + * generate Python output into a contract-named folder, not a file (eg exchange/__init__.py rather than exchange.py) leaving space for user-defined additions to the same module, such as for custom types, as used by the Exchange wrapper's manually-written type aliases in the contract_wrappers.exchange.types Python module (#1919) + * support for customizable parameter validation for Python wrappers (#1919) + * wrap Python docstrings better, for pydocstyle compliance (#1919) + * lots of fixes to satisfy linters of generated Python code (#1919) + ## v2.1.1 - _July 13, 2019_ * Dependencies updated diff --git a/packages/assert/CHANGELOG.json b/packages/assert/CHANGELOG.json index e63f6b997d..64b85ff3eb 100644 --- a/packages/assert/CHANGELOG.json +++ b/packages/assert/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.1.1", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "2.1.0", "changes": [ diff --git a/packages/assert/CHANGELOG.md b/packages/assert/CHANGELOG.md index f0a0b473fc..a8c4a84435 100644 --- a/packages/assert/CHANGELOG.md +++ b/packages/assert/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.1 - _July 24, 2019_ + + * Dependencies updated + ## v2.1.0 - _July 13, 2019_ * Add new assertions: `isArray`, `isBlockParam` and `isNumberOrBigNumber` (#1823) diff --git a/packages/asset-buyer/CHANGELOG.json b/packages/asset-buyer/CHANGELOG.json index 7c4b452e1e..fe644425fe 100644 --- a/packages/asset-buyer/CHANGELOG.json +++ b/packages/asset-buyer/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "6.1.9", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "6.1.8", diff --git a/packages/asset-buyer/CHANGELOG.md b/packages/asset-buyer/CHANGELOG.md index e135ceac65..dc1903e5ce 100644 --- a/packages/asset-buyer/CHANGELOG.md +++ b/packages/asset-buyer/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v6.1.9 - _July 24, 2019_ + + * Dependencies updated + ## v6.1.8 - _July 15, 2019_ * Dependencies updated diff --git a/packages/asset-swapper/CHANGELOG.json b/packages/asset-swapper/CHANGELOG.json index 4557ada8a2..cd33d075ad 100644 --- a/packages/asset-swapper/CHANGELOG.json +++ b/packages/asset-swapper/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "0.0.5", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "0.0.4", diff --git a/packages/asset-swapper/CHANGELOG.md b/packages/asset-swapper/CHANGELOG.md index 332671a5ba..b3887206d9 100644 --- a/packages/asset-swapper/CHANGELOG.md +++ b/packages/asset-swapper/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v0.0.5 - _July 24, 2019_ + + * Dependencies updated + ## v0.0.4 - _July 15, 2019_ * Dependencies updated diff --git a/packages/base-contract/CHANGELOG.json b/packages/base-contract/CHANGELOG.json index 7015e027b7..29cf2b5218 100644 --- a/packages/base-contract/CHANGELOG.json +++ b/packages/base-contract/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "5.1.2", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563006338, "version": "5.1.1", diff --git a/packages/base-contract/CHANGELOG.md b/packages/base-contract/CHANGELOG.md index 35d209ae79..7d0d3f80b8 100644 --- a/packages/base-contract/CHANGELOG.md +++ b/packages/base-contract/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.1.2 - _July 24, 2019_ + + * Dependencies updated + ## v5.1.1 - _July 13, 2019_ * Dependencies updated diff --git a/packages/connect/CHANGELOG.json b/packages/connect/CHANGELOG.json index 3c05a34894..f198af4d9f 100644 --- a/packages/connect/CHANGELOG.json +++ b/packages/connect/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "5.0.14", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "5.0.13", diff --git a/packages/connect/CHANGELOG.md b/packages/connect/CHANGELOG.md index 3d8c37dfef..8a3973346c 100644 --- a/packages/connect/CHANGELOG.md +++ b/packages/connect/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.0.14 - _July 24, 2019_ + + * Dependencies updated + ## v5.0.13 - _July 15, 2019_ * Dependencies updated diff --git a/packages/contract-artifacts/CHANGELOG.json b/packages/contract-artifacts/CHANGELOG.json index 4bd5b1d868..681f3c84c1 100644 --- a/packages/contract-artifacts/CHANGELOG.json +++ b/packages/contract-artifacts/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.0.2", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563006338, "version": "2.0.1", diff --git a/packages/contract-artifacts/CHANGELOG.md b/packages/contract-artifacts/CHANGELOG.md index 37dc28f21a..6ced3eded8 100644 --- a/packages/contract-artifacts/CHANGELOG.md +++ b/packages/contract-artifacts/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.2 - _July 24, 2019_ + + * Dependencies updated + ## v2.0.1 - _July 13, 2019_ * Dependencies updated diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index 23c6967531..79c36408e3 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "re-export new ethereum-types type, TupleDataItem", "pr": 1919 } - ] + ], + "timestamp": 1563957393 }, { "timestamp": 1563193019, diff --git a/packages/contract-wrappers/CHANGELOG.md b/packages/contract-wrappers/CHANGELOG.md index 9be4e360b6..fbdfd05bed 100644 --- a/packages/contract-wrappers/CHANGELOG.md +++ b/packages/contract-wrappers/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v9.1.8 - _July 24, 2019_ + + * re-export new ethereum-types type, TupleDataItem (#1919) + ## v9.1.7 - _July 15, 2019_ * Dependencies updated diff --git a/packages/contracts-gen/CHANGELOG.json b/packages/contracts-gen/CHANGELOG.json index 631831c1ed..5d37962df7 100644 --- a/packages/contracts-gen/CHANGELOG.json +++ b/packages/contracts-gen/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "1.0.11", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563006338, "version": "1.0.10", diff --git a/packages/contracts-gen/CHANGELOG.md b/packages/contracts-gen/CHANGELOG.md index fb0d2c20fb..2db755e81e 100644 --- a/packages/contracts-gen/CHANGELOG.md +++ b/packages/contracts-gen/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v1.0.11 - _July 24, 2019_ + + * Dependencies updated + ## v1.0.10 - _July 13, 2019_ * Dependencies updated diff --git a/packages/dev-utils/CHANGELOG.json b/packages/dev-utils/CHANGELOG.json index 09fc615801..465e11b2a8 100644 --- a/packages/dev-utils/CHANGELOG.json +++ b/packages/dev-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.2.5", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563006338, "version": "2.2.4", diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md index a9b091fd49..4bb9520ead 100644 --- a/packages/dev-utils/CHANGELOG.md +++ b/packages/dev-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.2.5 - _July 24, 2019_ + + * Dependencies updated + ## v2.2.4 - _July 13, 2019_ * Dependencies updated diff --git a/packages/ethereum-types/CHANGELOG.json b/packages/ethereum-types/CHANGELOG.json index ebdf3668ee..0590480b46 100644 --- a/packages/ethereum-types/CHANGELOG.json +++ b/packages/ethereum-types/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "new interface TupleDataItem, a DataItem that definitely has a `components` field", "pr": 1919 } - ] + ], + "timestamp": 1563957393 }, { "version": "2.1.3", diff --git a/packages/ethereum-types/CHANGELOG.md b/packages/ethereum-types/CHANGELOG.md index d9a5d4d65a..5bf5ea771a 100644 --- a/packages/ethereum-types/CHANGELOG.md +++ b/packages/ethereum-types/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.4 - _July 24, 2019_ + + * new interface TupleDataItem, a DataItem that definitely has a `components` field (#1919) + ## v2.1.3 - _July 13, 2019_ * Made most fields in DevdocOutput optional, as they may not all be present just because devdoc is (#1878) diff --git a/packages/fill-scenarios/CHANGELOG.json b/packages/fill-scenarios/CHANGELOG.json index 3d20721d48..0f9d60a961 100644 --- a/packages/fill-scenarios/CHANGELOG.json +++ b/packages/fill-scenarios/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "3.0.14", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "3.0.13", diff --git a/packages/fill-scenarios/CHANGELOG.md b/packages/fill-scenarios/CHANGELOG.md index 7d4ffdda28..9dd04a247e 100644 --- a/packages/fill-scenarios/CHANGELOG.md +++ b/packages/fill-scenarios/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.0.14 - _July 24, 2019_ + + * Dependencies updated + ## v3.0.13 - _July 15, 2019_ * Dependencies updated diff --git a/packages/json-schemas/CHANGELOG.json b/packages/json-schemas/CHANGELOG.json index 031664fdcb..61974a0849 100644 --- a/packages/json-schemas/CHANGELOG.json +++ b/packages/json-schemas/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "permit mixed-case addresses" } - ] + ], + "timestamp": 1563957393 }, { "timestamp": 1563006338, diff --git a/packages/json-schemas/CHANGELOG.md b/packages/json-schemas/CHANGELOG.md index f57fb5257f..5637f56bea 100644 --- a/packages/json-schemas/CHANGELOG.md +++ b/packages/json-schemas/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.11 - _July 24, 2019_ + + * permit mixed-case addresses + ## v3.0.11 - _July 13, 2019_ * Dependencies updated diff --git a/packages/migrations/CHANGELOG.json b/packages/migrations/CHANGELOG.json index fac6c97e1d..c340d1d50a 100644 --- a/packages/migrations/CHANGELOG.json +++ b/packages/migrations/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "4.1.10", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "4.1.9", diff --git a/packages/migrations/CHANGELOG.md b/packages/migrations/CHANGELOG.md index 4e829a8aed..2dca85aff3 100644 --- a/packages/migrations/CHANGELOG.md +++ b/packages/migrations/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.1.10 - _July 24, 2019_ + + * Dependencies updated + ## v4.1.9 - _July 15, 2019_ * Dependencies updated diff --git a/packages/order-utils/CHANGELOG.json b/packages/order-utils/CHANGELOG.json index adcb3be2ab..2e89288fd2 100644 --- a/packages/order-utils/CHANGELOG.json +++ b/packages/order-utils/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Ensure `assetData` is word aligned", "pr": 1964 } - ] + ], + "timestamp": 1563957393 }, { "timestamp": 1563193019, diff --git a/packages/order-utils/CHANGELOG.md b/packages/order-utils/CHANGELOG.md index 5845627db2..dc6f7dfcaf 100644 --- a/packages/order-utils/CHANGELOG.md +++ b/packages/order-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v8.2.3 - _July 24, 2019_ + + * Ensure `assetData` is word aligned (#1964) + ## v8.2.2 - _July 15, 2019_ * Dependencies updated diff --git a/packages/order-watcher/CHANGELOG.json b/packages/order-watcher/CHANGELOG.json index 50debf42b6..b80f830eca 100644 --- a/packages/order-watcher/CHANGELOG.json +++ b/packages/order-watcher/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "4.0.15", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563193019, "version": "4.0.14", diff --git a/packages/order-watcher/CHANGELOG.md b/packages/order-watcher/CHANGELOG.md index d2178bc3e9..0ef8995932 100644 --- a/packages/order-watcher/CHANGELOG.md +++ b/packages/order-watcher/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.0.15 - _July 24, 2019_ + + * Dependencies updated + ## v4.0.14 - _July 15, 2019_ * Dependencies updated diff --git a/packages/react-docs/CHANGELOG.json b/packages/react-docs/CHANGELOG.json index abd4a84860..0b68b70a5d 100644 --- a/packages/react-docs/CHANGELOG.json +++ b/packages/react-docs/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.0.15", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563047529, "version": "2.0.14", diff --git a/packages/react-docs/CHANGELOG.md b/packages/react-docs/CHANGELOG.md index 94654022c7..56c91dbba8 100644 --- a/packages/react-docs/CHANGELOG.md +++ b/packages/react-docs/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.15 - _July 24, 2019_ + + * Dependencies updated + ## v2.0.14 - _July 13, 2019_ * Dependencies updated diff --git a/packages/react-shared/CHANGELOG.json b/packages/react-shared/CHANGELOG.json index fb22d4a286..be35ad9d9b 100644 --- a/packages/react-shared/CHANGELOG.json +++ b/packages/react-shared/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.0.15", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563047529, "version": "2.0.14", diff --git a/packages/react-shared/CHANGELOG.md b/packages/react-shared/CHANGELOG.md index 9ed07fa2a5..9ead479c73 100644 --- a/packages/react-shared/CHANGELOG.md +++ b/packages/react-shared/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.15 - _July 24, 2019_ + + * Dependencies updated + ## v2.0.14 - _July 13, 2019_ * Dependencies updated diff --git a/packages/sol-compiler/CHANGELOG.json b/packages/sol-compiler/CHANGELOG.json index 3062927a69..b1e23ccfe9 100644 --- a/packages/sol-compiler/CHANGELOG.json +++ b/packages/sol-compiler/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "re-export new ethereum-types types, TupleDataItem", "pr": 1919 } - ] + ], + "timestamp": 1563957393 }, { "timestamp": 1563006338, diff --git a/packages/sol-compiler/CHANGELOG.md b/packages/sol-compiler/CHANGELOG.md index ad97de97d4..ebc72f5c74 100644 --- a/packages/sol-compiler/CHANGELOG.md +++ b/packages/sol-compiler/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.10 - _July 24, 2019_ + + * re-export new ethereum-types types, TupleDataItem (#1919) + ## v3.1.9 - _July 13, 2019_ * Dependencies updated diff --git a/packages/sol-coverage/CHANGELOG.json b/packages/sol-coverage/CHANGELOG.json index 684ac63aca..2bc83a3d2d 100644 --- a/packages/sol-coverage/CHANGELOG.json +++ b/packages/sol-coverage/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "3.0.7", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563006338, "version": "3.0.6", diff --git a/packages/sol-coverage/CHANGELOG.md b/packages/sol-coverage/CHANGELOG.md index 8616f0949a..7bf8d88fc8 100644 --- a/packages/sol-coverage/CHANGELOG.md +++ b/packages/sol-coverage/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.0.7 - _July 24, 2019_ + + * Dependencies updated + ## v3.0.6 - _July 13, 2019_ * Dependencies updated diff --git a/packages/sol-doc/CHANGELOG.json b/packages/sol-doc/CHANGELOG.json index 76a6d996fa..aa55224001 100644 --- a/packages/sol-doc/CHANGELOG.json +++ b/packages/sol-doc/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.0.14", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "2.0.13", "changes": [ diff --git a/packages/sol-doc/CHANGELOG.md b/packages/sol-doc/CHANGELOG.md index d908fa79ff..53e75b252d 100644 --- a/packages/sol-doc/CHANGELOG.md +++ b/packages/sol-doc/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.14 - _July 24, 2019_ + + * Dependencies updated + ## v2.0.13 - _July 13, 2019_ * Confirm devdoc components exist before using them (#1878) diff --git a/packages/sol-profiler/CHANGELOG.json b/packages/sol-profiler/CHANGELOG.json index 46fc52d1de..de9c3c2f4b 100644 --- a/packages/sol-profiler/CHANGELOG.json +++ b/packages/sol-profiler/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "3.1.9", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563006338, "version": "3.1.8", diff --git a/packages/sol-profiler/CHANGELOG.md b/packages/sol-profiler/CHANGELOG.md index 13c10b27f7..3bef1295d4 100644 --- a/packages/sol-profiler/CHANGELOG.md +++ b/packages/sol-profiler/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.9 - _July 24, 2019_ + + * Dependencies updated + ## v3.1.8 - _July 13, 2019_ * Dependencies updated diff --git a/packages/sol-resolver/CHANGELOG.json b/packages/sol-resolver/CHANGELOG.json index 8af80f3aec..7d390e13e2 100644 --- a/packages/sol-resolver/CHANGELOG.json +++ b/packages/sol-resolver/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.0.9", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563006338, "version": "2.0.8", diff --git a/packages/sol-resolver/CHANGELOG.md b/packages/sol-resolver/CHANGELOG.md index e7a988d8fc..87fd247ce8 100644 --- a/packages/sol-resolver/CHANGELOG.md +++ b/packages/sol-resolver/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.9 - _July 24, 2019_ + + * Dependencies updated + ## v2.0.8 - _July 13, 2019_ * Dependencies updated diff --git a/packages/sol-trace/CHANGELOG.json b/packages/sol-trace/CHANGELOG.json index 29b70c0b83..7f64831c83 100644 --- a/packages/sol-trace/CHANGELOG.json +++ b/packages/sol-trace/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.0.15", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563006338, "version": "2.0.14", diff --git a/packages/sol-trace/CHANGELOG.md b/packages/sol-trace/CHANGELOG.md index 85cb2f4632..01dde713e7 100644 --- a/packages/sol-trace/CHANGELOG.md +++ b/packages/sol-trace/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.15 - _July 24, 2019_ + + * Dependencies updated + ## v2.0.14 - _July 13, 2019_ * Dependencies updated diff --git a/packages/sol-tracing-utils/CHANGELOG.json b/packages/sol-tracing-utils/CHANGELOG.json index 191ff34353..2a1457cc63 100644 --- a/packages/sol-tracing-utils/CHANGELOG.json +++ b/packages/sol-tracing-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "6.0.14", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563006338, "version": "6.0.13", diff --git a/packages/sol-tracing-utils/CHANGELOG.md b/packages/sol-tracing-utils/CHANGELOG.md index e89c460304..e0f59adf19 100644 --- a/packages/sol-tracing-utils/CHANGELOG.md +++ b/packages/sol-tracing-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v6.0.14 - _July 24, 2019_ + + * Dependencies updated + ## v6.0.13 - _July 13, 2019_ * Dependencies updated diff --git a/packages/sra-spec/CHANGELOG.json b/packages/sra-spec/CHANGELOG.json index 16b12bdc9c..0cd3dbdf06 100644 --- a/packages/sra-spec/CHANGELOG.json +++ b/packages/sra-spec/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.0.12", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563006338, "version": "2.0.11", diff --git a/packages/sra-spec/CHANGELOG.md b/packages/sra-spec/CHANGELOG.md index 8f7825d901..ad36fa126a 100644 --- a/packages/sra-spec/CHANGELOG.md +++ b/packages/sra-spec/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.12 - _July 24, 2019_ + + * Dependencies updated + ## v2.0.11 - _July 13, 2019_ * Dependencies updated diff --git a/packages/subproviders/CHANGELOG.json b/packages/subproviders/CHANGELOG.json index 70739d363a..f635219dde 100644 --- a/packages/subproviders/CHANGELOG.json +++ b/packages/subproviders/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Fix bug in Private Key subprovider causing checksummed tx.origin addresses to be rejected.", "pr": 1962 } - ] + ], + "timestamp": 1563957393 }, { "version": "4.1.1", diff --git a/packages/subproviders/CHANGELOG.md b/packages/subproviders/CHANGELOG.md index b790cb4b11..35c5422861 100644 --- a/packages/subproviders/CHANGELOG.md +++ b/packages/subproviders/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.1.2 - _July 24, 2019_ + + * Fix bug in Private Key subprovider causing checksummed tx.origin addresses to be rejected. (#1962) + ## v4.1.1 - _July 13, 2019_ * Fix bug in Trezor subprovider causing Trezor response to not be hex encoded (#1867) diff --git a/packages/types/CHANGELOG.json b/packages/types/CHANGELOG.json index 5f6bd3c28d..3c152e7e34 100644 --- a/packages/types/CHANGELOG.json +++ b/packages/types/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "2.4.1", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "2.4.0", "changes": [ diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index c0f9860c5c..617b9d8055 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.4.1 - _July 24, 2019_ + + * Dependencies updated + ## v2.4.0 - _July 13, 2019_ * Add MarketOperation type (#1914) diff --git a/packages/typescript-typings/CHANGELOG.json b/packages/typescript-typings/CHANGELOG.json index 8cc3960dd8..859dbd4fa0 100644 --- a/packages/typescript-typings/CHANGELOG.json +++ b/packages/typescript-typings/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "4.2.4", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563006338, "version": "4.2.3", diff --git a/packages/typescript-typings/CHANGELOG.md b/packages/typescript-typings/CHANGELOG.md index 44b082e4d8..531117d146 100644 --- a/packages/typescript-typings/CHANGELOG.md +++ b/packages/typescript-typings/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.2.4 - _July 24, 2019_ + + * Dependencies updated + ## v4.2.3 - _July 13, 2019_ * Dependencies updated diff --git a/packages/utils/CHANGELOG.json b/packages/utils/CHANGELOG.json index 42ef783343..6db71af1f8 100644 --- a/packages/utils/CHANGELOG.json +++ b/packages/utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1563957393, + "version": "4.4.1", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "4.4.0", "changes": [ diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 15a3cee1ce..0fb221fa5d 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.4.1 - _July 24, 2019_ + + * Dependencies updated + ## v4.4.0 - _July 13, 2019_ * Add function deleteNestedProperty (#1842) diff --git a/packages/web3-wrapper/CHANGELOG.json b/packages/web3-wrapper/CHANGELOG.json index edb4f740b3..be1db65bf9 100644 --- a/packages/web3-wrapper/CHANGELOG.json +++ b/packages/web3-wrapper/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "re-export new ethereum-types types, TupleDataItem", "pr": 1919 } - ] + ], + "timestamp": 1563957393 }, { "timestamp": 1563006338, diff --git a/packages/web3-wrapper/CHANGELOG.md b/packages/web3-wrapper/CHANGELOG.md index 115c5b164f..649d528d93 100644 --- a/packages/web3-wrapper/CHANGELOG.md +++ b/packages/web3-wrapper/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v6.0.8 - _July 24, 2019_ + + * re-export new ethereum-types types, TupleDataItem (#1919) + ## v6.0.7 - _July 13, 2019_ * Dependencies updated From 6f3cee1a1e64bac518dfbe780920efe46bf76d40 Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Wed, 24 Jul 2019 01:50:18 -0700 Subject: [PATCH 005/162] Publish - @0x/contracts-asset-proxy@2.2.3 - @0x/contracts-coordinator@2.0.8 - @0x/contracts-dev-utils@0.0.5 - @0x/contracts-erc1155@1.1.10 - @0x/contracts-erc20@2.2.9 - @0x/contracts-erc721@2.1.10 - @0x/contracts-exchange-forwarder@3.0.7 - @0x/contracts-exchange-libs@3.0.3 - @0x/contracts-exchange@2.1.9 - @0x/contracts-extensions@4.0.3 - @0x/contracts-multisig@3.1.9 - @0x/contracts-test-utils@3.1.11 - @0x/contracts-utils@3.1.10 - 0x.js@6.0.13 - @0x/abi-gen-templates@2.3.0 - @0x/abi-gen-wrappers@5.0.3 - @0x/abi-gen@3.1.1 - @0x/assert@2.1.1 - @0x/asset-buyer@6.1.9 - @0x/asset-swapper@0.0.5 - @0x/base-contract@5.1.2 - @0x/connect@5.0.14 - @0x/contract-artifacts@2.0.2 - @0x/contract-wrappers@9.1.8 - @0x/contracts-gen@1.0.11 - @0x/dev-utils@2.2.5 - ethereum-types@2.1.4 - @0x/fill-scenarios@3.0.14 - @0x/json-schemas@3.1.11 - @0x/migrations@4.1.10 - @0x/order-utils@8.2.3 - @0x/order-watcher@4.0.15 - @0x/react-docs@2.0.15 - @0x/react-shared@2.0.15 - @0x/sol-compiler@3.1.10 - @0x/sol-coverage@3.0.7 - @0x/sol-doc@2.0.14 - @0x/sol-profiler@3.1.9 - @0x/sol-resolver@2.0.9 - @0x/sol-trace@2.0.15 - @0x/sol-tracing-utils@6.0.14 - @0x/sra-spec@2.0.12 - @0x/subproviders@4.1.2 - @0x/types@2.4.1 - @0x/typescript-typings@4.2.4 - @0x/utils@4.4.1 - @0x/web3-wrapper@6.0.8 --- contracts/asset-proxy/package.json | 34 +++++++++--------- contracts/coordinator/package.json | 36 +++++++++---------- contracts/dev-utils/package.json | 42 +++++++++++------------ contracts/erc1155/package.json | 26 +++++++------- contracts/erc20/package.json | 26 +++++++------- contracts/erc721/package.json | 26 +++++++------- contracts/exchange-forwarder/package.json | 40 ++++++++++----------- contracts/exchange-libs/package.json | 28 +++++++-------- contracts/exchange/package.json | 38 ++++++++++---------- contracts/extensions/package.json | 40 ++++++++++----------- contracts/multisig/package.json | 28 +++++++-------- contracts/test-utils/package.json | 26 +++++++------- contracts/utils/package.json | 26 +++++++------- packages/0x.js/package.json | 30 ++++++++-------- packages/abi-gen-templates/package.json | 2 +- packages/abi-gen-wrappers/package.json | 22 ++++++------ packages/abi-gen/package.json | 22 ++++++------ packages/assert/package.json | 8 ++--- packages/asset-buyer/package.json | 24 ++++++------- packages/asset-swapper/package.json | 30 ++++++++-------- packages/base-contract/package.json | 14 ++++---- packages/connect/package.json | 14 ++++---- packages/contract-artifacts/package.json | 4 +-- packages/contract-wrappers/package.json | 32 ++++++++--------- packages/contracts-gen/package.json | 12 +++---- packages/dev-utils/package.json | 14 ++++---- packages/ethereum-types/package.json | 2 +- packages/fill-scenarios/package.json | 18 +++++----- packages/json-schemas/package.json | 6 ++-- packages/migrations/package.json | 26 +++++++------- packages/order-utils/package.json | 24 ++++++------- packages/order-watcher/package.json | 34 +++++++++--------- packages/react-docs/package.json | 10 +++--- packages/react-shared/package.json | 6 ++-- packages/sol-compiler/package.json | 20 +++++------ packages/sol-coverage/package.json | 10 +++--- packages/sol-doc/package.json | 10 +++--- packages/sol-profiler/package.json | 12 +++---- packages/sol-resolver/package.json | 6 ++-- packages/sol-trace/package.json | 10 +++--- packages/sol-tracing-utils/package.json | 18 +++++----- packages/sra-spec/package.json | 4 +-- packages/subproviders/package.json | 14 ++++---- packages/types/package.json | 4 +-- packages/typescript-typings/package.json | 4 +-- packages/utils/package.json | 8 ++--- packages/web3-wrapper/package.json | 12 +++---- 47 files changed, 451 insertions(+), 451 deletions(-) diff --git a/contracts/asset-proxy/package.json b/contracts/asset-proxy/package.json index 1c4ed19af1..f72bd3f540 100644 --- a/contracts/asset-proxy/package.json +++ b/contracts/asset-proxy/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-asset-proxy", - "version": "2.2.2", + "version": "2.2.3", "engines": { "node": ">=6.12" }, @@ -47,11 +47,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/contracts-gen": "^1.0.10", - "@0x/contracts-test-utils": "^3.1.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", + "@0x/abi-gen": "^3.1.1", + "@0x/contracts-gen": "^1.0.11", + "@0x/contracts-test-utils": "^3.1.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", @@ -68,17 +68,17 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/contracts-erc1155": "^1.1.9", - "@0x/contracts-erc20": "^2.2.8", - "@0x/contracts-erc721": "^2.1.9", - "@0x/contracts-utils": "^3.1.9", - "@0x/order-utils": "^8.2.2", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/base-contract": "^5.1.2", + "@0x/contracts-erc1155": "^1.1.10", + "@0x/contracts-erc20": "^2.2.9", + "@0x/contracts-erc721": "^2.1.10", + "@0x/contracts-utils": "^3.1.10", + "@0x/order-utils": "^8.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" }, diff --git a/contracts/coordinator/package.json b/contracts/coordinator/package.json index c64bd9c263..3a947f5138 100644 --- a/contracts/coordinator/package.json +++ b/contracts/coordinator/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-coordinator", - "version": "2.0.7", + "version": "2.0.8", "engines": { "node": ">=6.12" }, @@ -47,11 +47,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/contracts-gen": "^1.0.10", - "@0x/contracts-test-utils": "^3.1.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", + "@0x/abi-gen": "^3.1.1", + "@0x/contracts-gen": "^1.0.11", + "@0x/contracts-test-utils": "^3.1.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", @@ -68,18 +68,18 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/contracts-asset-proxy": "^2.2.2", - "@0x/contracts-erc20": "^2.2.8", - "@0x/contracts-exchange": "^2.1.8", - "@0x/contracts-exchange-libs": "^3.0.2", - "@0x/contracts-utils": "^3.1.9", - "@0x/order-utils": "^8.2.2", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/base-contract": "^5.1.2", + "@0x/contracts-asset-proxy": "^2.2.3", + "@0x/contracts-erc20": "^2.2.9", + "@0x/contracts-exchange": "^2.1.9", + "@0x/contracts-exchange-libs": "^3.0.3", + "@0x/contracts-utils": "^3.1.10", + "@0x/order-utils": "^8.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" }, diff --git a/contracts/dev-utils/package.json b/contracts/dev-utils/package.json index 576dbffc69..8726c44408 100644 --- a/contracts/dev-utils/package.json +++ b/contracts/dev-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-dev-utils", - "version": "0.0.4", + "version": "0.0.5", "engines": { "node": ">=6.12" }, @@ -47,12 +47,12 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/dev-utils/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/contract-wrappers": "^9.1.7", - "@0x/contracts-gen": "^1.0.10", - "@0x/contracts-test-utils": "^3.1.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", + "@0x/abi-gen": "^3.1.1", + "@0x/contract-wrappers": "^9.1.8", + "@0x/contracts-gen": "^1.0.11", + "@0x/contracts-test-utils": "^3.1.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", @@ -69,20 +69,20 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/contracts-asset-proxy": "^2.2.2", - "@0x/contracts-erc1155": "^1.1.9", - "@0x/contracts-erc20": "^2.2.8", - "@0x/contracts-erc721": "^2.1.9", - "@0x/contracts-exchange": "^2.1.8", - "@0x/contracts-exchange-libs": "^3.0.2", - "@0x/contracts-utils": "^3.1.9", - "@0x/order-utils": "^8.2.2", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/base-contract": "^5.1.2", + "@0x/contracts-asset-proxy": "^2.2.3", + "@0x/contracts-erc1155": "^1.1.10", + "@0x/contracts-erc20": "^2.2.9", + "@0x/contracts-erc721": "^2.1.10", + "@0x/contracts-exchange": "^2.1.9", + "@0x/contracts-exchange-libs": "^3.0.3", + "@0x/contracts-utils": "^3.1.10", + "@0x/order-utils": "^8.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1" }, "publishConfig": { diff --git a/contracts/erc1155/package.json b/contracts/erc1155/package.json index b3467891b8..9083c9000e 100644 --- a/contracts/erc1155/package.json +++ b/contracts/erc1155/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc1155", - "version": "1.1.9", + "version": "1.1.10", "engines": { "node": ">=6.12" }, @@ -47,10 +47,10 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/contracts-gen": "^1.0.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", + "@0x/abi-gen": "^3.1.1", + "@0x/contracts-gen": "^1.0.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", @@ -67,14 +67,14 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/contracts-test-utils": "^3.1.10", - "@0x/contracts-utils": "^3.1.9", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/base-contract": "^5.1.2", + "@0x/contracts-test-utils": "^3.1.11", + "@0x/contracts-utils": "^3.1.10", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/erc20/package.json b/contracts/erc20/package.json index 17b1999cf5..67219280b2 100644 --- a/contracts/erc20/package.json +++ b/contracts/erc20/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc20", - "version": "2.2.8", + "version": "2.2.9", "engines": { "node": ">=6.12" }, @@ -47,11 +47,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/contracts-gen": "^1.0.10", - "@0x/contracts-test-utils": "^3.1.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", + "@0x/abi-gen": "^3.1.1", + "@0x/contracts-gen": "^1.0.11", + "@0x/contracts-test-utils": "^3.1.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", @@ -68,13 +68,13 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/contracts-utils": "^3.1.9", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/base-contract": "^5.1.2", + "@0x/contracts-utils": "^3.1.10", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/erc721/package.json b/contracts/erc721/package.json index 4444ebc1cc..e61d0d0f25 100644 --- a/contracts/erc721/package.json +++ b/contracts/erc721/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc721", - "version": "2.1.9", + "version": "2.1.10", "engines": { "node": ">=6.12" }, @@ -47,11 +47,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/contracts-gen": "^1.0.10", - "@0x/contracts-test-utils": "^3.1.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", + "@0x/abi-gen": "^3.1.1", + "@0x/contracts-gen": "^1.0.11", + "@0x/contracts-test-utils": "^3.1.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", @@ -68,13 +68,13 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/contracts-utils": "^3.1.9", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/base-contract": "^5.1.2", + "@0x/contracts-utils": "^3.1.10", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/exchange-forwarder/package.json b/contracts/exchange-forwarder/package.json index 5e4ac0e97f..0fc7345b8b 100644 --- a/contracts/exchange-forwarder/package.json +++ b/contracts/exchange-forwarder/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange-forwarder", - "version": "3.0.6", + "version": "3.0.7", "engines": { "node": ">=6.12" }, @@ -46,12 +46,12 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/contract-wrappers": "^9.1.7", - "@0x/contracts-gen": "^1.0.10", - "@0x/contracts-test-utils": "^3.1.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", + "@0x/abi-gen": "^3.1.1", + "@0x/contract-wrappers": "^9.1.8", + "@0x/contracts-gen": "^1.0.11", + "@0x/contracts-test-utils": "^3.1.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", @@ -68,19 +68,19 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/contracts-asset-proxy": "^2.2.2", - "@0x/contracts-erc20": "^2.2.8", - "@0x/contracts-erc721": "^2.1.9", - "@0x/contracts-exchange": "^2.1.8", - "@0x/contracts-exchange-libs": "^3.0.2", - "@0x/contracts-utils": "^3.1.9", - "@0x/order-utils": "^8.2.2", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/base-contract": "^5.1.2", + "@0x/contracts-asset-proxy": "^2.2.3", + "@0x/contracts-erc20": "^2.2.9", + "@0x/contracts-erc721": "^2.1.10", + "@0x/contracts-exchange": "^2.1.9", + "@0x/contracts-exchange-libs": "^3.0.3", + "@0x/contracts-utils": "^3.1.10", + "@0x/order-utils": "^8.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/exchange-libs/package.json b/contracts/exchange-libs/package.json index 5954916aa5..44de133b91 100644 --- a/contracts/exchange-libs/package.json +++ b/contracts/exchange-libs/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange-libs", - "version": "3.0.2", + "version": "3.0.3", "engines": { "node": ">=6.12" }, @@ -47,11 +47,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/libs/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/contracts-gen": "^1.0.10", - "@0x/contracts-test-utils": "^3.1.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", + "@0x/abi-gen": "^3.1.1", + "@0x/contracts-gen": "^1.0.11", + "@0x/contracts-test-utils": "^3.1.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", @@ -68,14 +68,14 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/contracts-utils": "^3.1.9", - "@0x/order-utils": "^8.2.2", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/base-contract": "^5.1.2", + "@0x/contracts-utils": "^3.1.10", + "@0x/order-utils": "^8.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/exchange/package.json b/contracts/exchange/package.json index 759b36ae71..2523d84f6d 100644 --- a/contracts/exchange/package.json +++ b/contracts/exchange/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange", - "version": "2.1.8", + "version": "2.1.9", "engines": { "node": ">=6.12" }, @@ -47,11 +47,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/contracts-gen": "^1.0.10", - "@0x/contracts-test-utils": "^3.1.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", + "@0x/abi-gen": "^3.1.1", + "@0x/contracts-gen": "^1.0.11", + "@0x/contracts-test-utils": "^3.1.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", @@ -68,19 +68,19 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/contracts-asset-proxy": "^2.2.2", - "@0x/contracts-erc1155": "^1.1.9", - "@0x/contracts-erc20": "^2.2.8", - "@0x/contracts-erc721": "^2.1.9", - "@0x/contracts-exchange-libs": "^3.0.2", - "@0x/contracts-utils": "^3.1.9", - "@0x/order-utils": "^8.2.2", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/base-contract": "^5.1.2", + "@0x/contracts-asset-proxy": "^2.2.3", + "@0x/contracts-erc1155": "^1.1.10", + "@0x/contracts-erc20": "^2.2.9", + "@0x/contracts-erc721": "^2.1.10", + "@0x/contracts-exchange-libs": "^3.0.3", + "@0x/contracts-utils": "^3.1.10", + "@0x/order-utils": "^8.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" }, diff --git a/contracts/extensions/package.json b/contracts/extensions/package.json index 72293c9d02..4c1b97d0c6 100644 --- a/contracts/extensions/package.json +++ b/contracts/extensions/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-extensions", - "version": "4.0.2", + "version": "4.0.3", "engines": { "node": ">=6.12" }, @@ -47,12 +47,12 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/contract-wrappers": "^9.1.7", - "@0x/contracts-gen": "^1.0.10", - "@0x/contracts-test-utils": "^3.1.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", + "@0x/abi-gen": "^3.1.1", + "@0x/contract-wrappers": "^9.1.8", + "@0x/contracts-gen": "^1.0.11", + "@0x/contracts-test-utils": "^3.1.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", @@ -69,19 +69,19 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/contracts-asset-proxy": "^2.2.2", - "@0x/contracts-erc20": "^2.2.8", - "@0x/contracts-erc721": "^2.1.9", - "@0x/contracts-exchange": "^2.1.8", - "@0x/contracts-exchange-libs": "^3.0.2", - "@0x/contracts-utils": "^3.1.9", - "@0x/order-utils": "^8.2.2", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/base-contract": "^5.1.2", + "@0x/contracts-asset-proxy": "^2.2.3", + "@0x/contracts-erc20": "^2.2.9", + "@0x/contracts-erc721": "^2.1.10", + "@0x/contracts-exchange": "^2.1.9", + "@0x/contracts-exchange-libs": "^3.0.3", + "@0x/contracts-utils": "^3.1.10", + "@0x/order-utils": "^8.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/multisig/package.json b/contracts/multisig/package.json index 864618515c..a2e7ae1409 100644 --- a/contracts/multisig/package.json +++ b/contracts/multisig/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-multisig", - "version": "3.1.8", + "version": "3.1.9", "engines": { "node": ">=6.12" }, @@ -47,11 +47,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/multisig/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/contracts-gen": "^1.0.10", - "@0x/contracts-test-utils": "^3.1.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", + "@0x/abi-gen": "^3.1.1", + "@0x/contracts-gen": "^1.0.11", + "@0x/contracts-test-utils": "^3.1.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", @@ -68,15 +68,15 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/contracts-asset-proxy": "^2.2.2", - "@0x/contracts-erc20": "^2.2.8", + "@0x/base-contract": "^5.1.2", + "@0x/contracts-asset-proxy": "^2.2.3", + "@0x/contracts-erc20": "^2.2.9", "@0x/contracts-utils": "2.0.1", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json index 7614db55cf..82bae94d05 100644 --- a/contracts/test-utils/package.json +++ b/contracts/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-test-utils", - "version": "3.1.10", + "version": "3.1.11", "engines": { "node": ">=6.12" }, @@ -41,18 +41,18 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/dev-utils": "^2.2.4", - "@0x/order-utils": "^8.2.2", - "@0x/sol-compiler": "^3.1.9", - "@0x/sol-coverage": "^3.0.6", - "@0x/sol-profiler": "^3.1.8", - "@0x/sol-trace": "^2.0.14", - "@0x/subproviders": "^4.1.1", + "@0x/dev-utils": "^2.2.5", + "@0x/order-utils": "^8.2.3", + "@0x/sol-compiler": "^3.1.10", + "@0x/sol-coverage": "^3.0.7", + "@0x/sol-profiler": "^3.1.9", + "@0x/sol-trace": "^2.0.15", + "@0x/subproviders": "^4.1.2", "@0x/tslint-config": "^3.0.1", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "@types/bn.js": "^4.11.0", "@types/js-combinatorics": "^0.5.29", "@types/lodash": "4.14.104", @@ -62,7 +62,7 @@ "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "ethers": "~4.0.4", "js-combinatorics": "^0.5.3", diff --git a/contracts/utils/package.json b/contracts/utils/package.json index 76f52a8aae..23436babf2 100644 --- a/contracts/utils/package.json +++ b/contracts/utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-utils", - "version": "3.1.9", + "version": "3.1.10", "engines": { "node": ">=6.12" }, @@ -47,11 +47,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/utils/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/contracts-gen": "^1.0.10", - "@0x/contracts-test-utils": "^3.1.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", + "@0x/abi-gen": "^3.1.1", + "@0x/contracts-gen": "^1.0.11", + "@0x/contracts-test-utils": "^3.1.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", "@0x/tslint-config": "^3.0.1", "@types/bn.js": "^4.11.0", "@types/lodash": "4.14.104", @@ -69,14 +69,14 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/order-utils": "^8.2.2", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/base-contract": "^5.1.2", + "@0x/order-utils": "^8.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "bn.js": "^4.11.8", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" }, diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json index 1e5bcc390b..17f4bec0a0 100644 --- a/packages/0x.js/package.json +++ b/packages/0x.js/package.json @@ -1,6 +1,6 @@ { "name": "0x.js", - "version": "6.0.12", + "version": "6.0.13", "engines": { "node": ">=6.12" }, @@ -43,10 +43,10 @@ }, "license": "Apache-2.0", "devDependencies": { - "@0x/abi-gen-wrappers": "^5.0.2", + "@0x/abi-gen-wrappers": "^5.0.3", "@0x/contract-addresses": "^3.0.2", - "@0x/dev-utils": "^2.2.4", - "@0x/migrations": "^4.1.9", + "@0x/dev-utils": "^2.2.5", + "@0x/migrations": "^4.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^2.2.42", @@ -73,18 +73,18 @@ "webpack": "^4.20.2" }, "dependencies": { - "@0x/assert": "^2.1.0", - "@0x/base-contract": "^5.1.1", - "@0x/contract-wrappers": "^9.1.7", - "@0x/order-utils": "^8.2.2", - "@0x/order-watcher": "^4.0.14", - "@0x/subproviders": "^4.1.1", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/assert": "^2.1.1", + "@0x/base-contract": "^5.1.2", + "@0x/contract-wrappers": "^9.1.8", + "@0x/order-utils": "^8.2.3", + "@0x/order-watcher": "^4.0.15", + "@0x/subproviders": "^4.1.2", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "@types/web3-provider-engine": "^14.0.0", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethers": "~4.0.4", "lodash": "^4.17.11", "web3-provider-engine": "14.0.6" diff --git a/packages/abi-gen-templates/package.json b/packages/abi-gen-templates/package.json index 115f96d8bd..94921206df 100644 --- a/packages/abi-gen-templates/package.json +++ b/packages/abi-gen-templates/package.json @@ -1,6 +1,6 @@ { "name": "@0x/abi-gen-templates", - "version": "2.2.1", + "version": "2.3.0", "engines": { "node": ">=6.12" }, diff --git a/packages/abi-gen-wrappers/package.json b/packages/abi-gen-wrappers/package.json index e317886a49..74ef124107 100644 --- a/packages/abi-gen-wrappers/package.json +++ b/packages/abi-gen-wrappers/package.json @@ -1,6 +1,6 @@ { "name": "@0x/abi-gen-wrappers", - "version": "5.0.2", + "version": "5.0.3", "engines": { "node": ">=6.12" }, @@ -33,23 +33,23 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/abi-gen-wrappers/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", - "@0x/abi-gen-templates": "^2.2.1", - "@0x/assert": "^2.1.0", - "@0x/json-schemas": "^3.0.11", + "@0x/abi-gen": "^3.1.1", + "@0x/abi-gen-templates": "^2.3.0", + "@0x/assert": "^2.1.1", + "@0x/json-schemas": "^3.1.11", "@0x/tslint-config": "^3.0.1", - "@0x/types": "^2.4.0", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/types": "^2.4.1", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "ethers": "~4.0.4", "lodash": "^4.17.11", "shx": "^0.2.2" }, "dependencies": { - "@0x/base-contract": "^5.1.1", + "@0x/base-contract": "^5.1.2", "@0x/contract-addresses": "^3.0.2", - "@0x/contract-artifacts": "^2.0.1" + "@0x/contract-artifacts": "^2.0.2" }, "publishConfig": { "access": "public" diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json index 1d81675691..6ea1c8f787 100644 --- a/packages/abi-gen/package.json +++ b/packages/abi-gen/package.json @@ -1,6 +1,6 @@ { "name": "@0x/abi-gen", - "version": "2.1.1", + "version": "3.1.1", "engines": { "node": ">=6.12" }, @@ -56,13 +56,13 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/abi-gen/README.md", "dependencies": { - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", "chalk": "^2.3.0", "change-case": "^3.0.2", "cli-format": "^3.0.9", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "glob": "^7.1.2", "handlebars": "^4.0.11", "lodash": "^4.17.11", @@ -72,13 +72,13 @@ "yargs": "^10.0.3" }, "devDependencies": { - "@0x/base-contract": "^5.1.1", - "@0x/contracts-gen": "^1.0.10", - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", - "@0x/subproviders": "^4.1.1", + "@0x/base-contract": "^5.1.2", + "@0x/contracts-gen": "^1.0.11", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", + "@0x/subproviders": "^4.1.2", "@0x/tslint-config": "^3.0.1", - "@0x/web3-wrapper": "^6.0.7", + "@0x/web3-wrapper": "^6.0.8", "@types/glob": "5.0.35", "@types/handlebars": "^4.0.36", "@types/mkdirp": "^0.5.2", diff --git a/packages/assert/package.json b/packages/assert/package.json index 87d78cbdee..7b8696e9f5 100644 --- a/packages/assert/package.json +++ b/packages/assert/package.json @@ -1,6 +1,6 @@ { "name": "@0x/assert", - "version": "2.1.0", + "version": "2.1.1", "engines": { "node": ">=6.12" }, @@ -45,9 +45,9 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/json-schemas": "^3.0.11", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", + "@0x/json-schemas": "^3.1.11", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", "lodash": "^4.17.11", "valid-url": "^1.0.9" }, diff --git a/packages/asset-buyer/package.json b/packages/asset-buyer/package.json index 78c7f838b5..5ae6b7291a 100644 --- a/packages/asset-buyer/package.json +++ b/packages/asset-buyer/package.json @@ -1,6 +1,6 @@ { "name": "@0x/asset-buyer", - "version": "6.1.8", + "version": "6.1.9", "engines": { "node": ">=6.12" }, @@ -37,17 +37,17 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/asset-buyer/README.md", "dependencies": { - "@0x/assert": "^2.1.0", - "@0x/connect": "^5.0.13", - "@0x/contract-wrappers": "^9.1.7", - "@0x/json-schemas": "^3.0.11", - "@0x/order-utils": "^8.2.2", - "@0x/subproviders": "^4.1.1", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/assert": "^2.1.1", + "@0x/connect": "^5.0.14", + "@0x/contract-wrappers": "^9.1.8", + "@0x/json-schemas": "^3.1.11", + "@0x/order-utils": "^8.2.3", + "@0x/subproviders": "^4.1.2", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, "devDependencies": { diff --git a/packages/asset-swapper/package.json b/packages/asset-swapper/package.json index 5413f057c2..76c886fa1b 100644 --- a/packages/asset-swapper/package.json +++ b/packages/asset-swapper/package.json @@ -1,6 +1,6 @@ { "name": "@0x/asset-swapper", - "version": "0.0.4", + "version": "0.0.5", "engines": { "node": ">=6.12" }, @@ -37,21 +37,21 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/asset-buyer/README.md", "dependencies": { - "@0x/assert": "^2.1.0", - "@0x/connect": "^5.0.13", + "@0x/assert": "^2.1.1", + "@0x/connect": "^5.0.14", "@0x/contract-addresses": "^3.0.2", - "@0x/contract-wrappers": "^9.1.7", - "@0x/dev-utils": "^2.2.4", - "@0x/fill-scenarios": "^3.0.13", - "@0x/json-schemas": "^3.0.11", - "@0x/migrations": "^4.1.9", - "@0x/order-utils": "^8.2.2", - "@0x/subproviders": "^4.1.1", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/contract-wrappers": "^9.1.8", + "@0x/dev-utils": "^2.2.5", + "@0x/fill-scenarios": "^3.0.14", + "@0x/json-schemas": "^3.1.11", + "@0x/migrations": "^4.1.10", + "@0x/order-utils": "^8.2.3", + "@0x/subproviders": "^4.1.2", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, "devDependencies": { diff --git a/packages/base-contract/package.json b/packages/base-contract/package.json index b1145de238..393f18c3d9 100644 --- a/packages/base-contract/package.json +++ b/packages/base-contract/package.json @@ -1,6 +1,6 @@ { "name": "@0x/base-contract", - "version": "5.1.1", + "version": "5.1.2", "engines": { "node": ">=6.12" }, @@ -41,12 +41,12 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/assert": "^2.1.0", - "@0x/json-schemas": "^3.0.11", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/assert": "^2.1.1", + "@0x/json-schemas": "^3.1.11", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "ethers": "~4.0.4", "lodash": "^4.17.11" }, diff --git a/packages/connect/package.json b/packages/connect/package.json index 0831bc4efe..e2e96f945e 100644 --- a/packages/connect/package.json +++ b/packages/connect/package.json @@ -1,6 +1,6 @@ { "name": "@0x/connect", - "version": "5.0.13", + "version": "5.0.14", "engines": { "node": ">=6.12" }, @@ -45,12 +45,12 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/connect/README.md", "dependencies": { - "@0x/assert": "^2.1.0", - "@0x/json-schemas": "^3.0.11", - "@0x/order-utils": "^8.2.2", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", + "@0x/assert": "^2.1.1", + "@0x/json-schemas": "^3.1.11", + "@0x/order-utils": "^8.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", "lodash": "^4.17.11", "query-string": "^6.0.0", "sinon": "^4.0.0", diff --git a/packages/contract-artifacts/package.json b/packages/contract-artifacts/package.json index d6d286aa8c..9c9cf52d3c 100644 --- a/packages/contract-artifacts/package.json +++ b/packages/contract-artifacts/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-artifacts", - "version": "2.0.1", + "version": "2.0.2", "engines": { "node": ">=6.12" }, @@ -30,7 +30,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/contract-artifacts/README.md", "devDependencies": { - "@0x/utils": "^4.4.0", + "@0x/utils": "^4.4.1", "chai": "^4.0.1", "lodash": "^4.17.11", "mocha": "^4.1.0", diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index 5a5d741f87..90df78be36 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-wrappers", - "version": "9.1.7", + "version": "9.1.8", "description": "Smart TS wrappers for 0x smart contracts", "keywords": [ "0xproject", @@ -38,12 +38,12 @@ "node": ">=6.0.0" }, "devDependencies": { - "@0x/contracts-test-utils": "^3.1.10", + "@0x/contracts-test-utils": "^3.1.11", "@0x/coordinator-server": "0.1.1", - "@0x/dev-utils": "^2.2.4", - "@0x/fill-scenarios": "^3.0.13", - "@0x/migrations": "^4.1.9", - "@0x/subproviders": "^4.1.1", + "@0x/dev-utils": "^2.2.5", + "@0x/fill-scenarios": "^3.0.14", + "@0x/migrations": "^4.1.10", + "@0x/subproviders": "^4.1.2", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^2.2.42", @@ -71,17 +71,17 @@ "web3-provider-engine": "14.0.6" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.0.2", - "@0x/assert": "^2.1.0", + "@0x/abi-gen-wrappers": "^5.0.3", + "@0x/assert": "^2.1.1", "@0x/contract-addresses": "^3.0.2", - "@0x/contract-artifacts": "^2.0.1", - "@0x/json-schemas": "^3.0.11", - "@0x/order-utils": "^8.2.2", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/contract-artifacts": "^2.0.2", + "@0x/json-schemas": "^3.1.11", + "@0x/order-utils": "^8.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "ethereumjs-abi": "0.6.5", "ethereumjs-blockstream": "6.0.0", "ethereumjs-util": "^5.1.1", diff --git a/packages/contracts-gen/package.json b/packages/contracts-gen/package.json index 72ba090f98..9562022881 100644 --- a/packages/contracts-gen/package.json +++ b/packages/contracts-gen/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-gen", - "version": "1.0.10", + "version": "1.0.11", "engines": { "node": ">=6.12" }, @@ -27,11 +27,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/contracts-gen/README.md", "dependencies": { - "@0x/sol-resolver": "^2.0.8", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "ethereum-types": "^2.1.3", + "@0x/sol-resolver": "^2.0.9", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11", "prettier": "^1.16.3", "to-snake-case": "^1.0.0" diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index fce2c9b20c..aa4ef0dea9 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/dev-utils", - "version": "2.2.4", + "version": "2.2.5", "engines": { "node": ">=6.12" }, @@ -42,14 +42,14 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/subproviders": "^4.1.1", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/subproviders": "^4.1.2", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "@types/web3-provider-engine": "^14.0.0", "chai": "^4.0.1", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/packages/ethereum-types/package.json b/packages/ethereum-types/package.json index 3cbfd76001..b3e0acf1d0 100644 --- a/packages/ethereum-types/package.json +++ b/packages/ethereum-types/package.json @@ -1,6 +1,6 @@ { "name": "ethereum-types", - "version": "2.1.3", + "version": "2.1.4", "engines": { "node": ">=6.12" }, diff --git a/packages/fill-scenarios/package.json b/packages/fill-scenarios/package.json index 9fa1733832..969340b0d8 100644 --- a/packages/fill-scenarios/package.json +++ b/packages/fill-scenarios/package.json @@ -1,6 +1,6 @@ { "name": "@0x/fill-scenarios", - "version": "3.0.13", + "version": "3.0.14", "description": "0x order fill scenario generator", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -29,14 +29,14 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.0.2", - "@0x/base-contract": "^5.1.1", - "@0x/order-utils": "^8.2.2", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", - "ethereum-types": "^2.1.3", + "@0x/abi-gen-wrappers": "^5.0.3", + "@0x/base-contract": "^5.1.2", + "@0x/order-utils": "^8.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", + "ethereum-types": "^2.1.4", "ethers": "~4.0.4", "lodash": "^4.17.11" }, diff --git a/packages/json-schemas/package.json b/packages/json-schemas/package.json index 0b67ce56aa..592bacffd9 100644 --- a/packages/json-schemas/package.json +++ b/packages/json-schemas/package.json @@ -1,6 +1,6 @@ { "name": "@0x/json-schemas", - "version": "3.0.11", + "version": "3.1.11", "engines": { "node": ">=6.12" }, @@ -40,14 +40,14 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/json-schemas/README.md", "dependencies": { - "@0x/typescript-typings": "^4.2.3", + "@0x/typescript-typings": "^4.2.4", "@types/node": "*", "jsonschema": "^1.2.0", "lodash.values": "^4.3.0" }, "devDependencies": { "@0x/tslint-config": "^3.0.1", - "@0x/utils": "^4.4.0", + "@0x/utils": "^4.4.1", "@types/lodash.foreach": "^4.5.3", "@types/lodash.values": "^4.3.3", "@types/mocha": "^2.2.42", diff --git a/packages/migrations/package.json b/packages/migrations/package.json index 6534fc2a93..4efda1983a 100644 --- a/packages/migrations/package.json +++ b/packages/migrations/package.json @@ -1,6 +1,6 @@ { "name": "@0x/migrations", - "version": "4.1.9", + "version": "4.1.10", "engines": { "node": ">=6.12" }, @@ -36,9 +36,9 @@ }, "license": "Apache-2.0", "devDependencies": { - "@0x/dev-utils": "^2.2.4", + "@0x/dev-utils": "^2.2.5", "@0x/tslint-config": "^3.0.1", - "@0x/types": "^2.4.0", + "@0x/types": "^2.4.1", "@types/yargs": "^11.0.0", "make-promises-safe": "^1.1.0", "npm-run-all": "^4.1.2", @@ -50,19 +50,19 @@ "yargs": "^10.0.3" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.0.2", - "@0x/base-contract": "^5.1.1", + "@0x/abi-gen-wrappers": "^5.0.3", + "@0x/base-contract": "^5.1.2", "@0x/contract-addresses": "^3.0.2", - "@0x/contract-artifacts": "^2.0.1", - "@0x/order-utils": "^8.2.2", - "@0x/sol-compiler": "^3.1.9", - "@0x/subproviders": "^4.1.1", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/contract-artifacts": "^2.0.2", + "@0x/order-utils": "^8.2.3", + "@0x/sol-compiler": "^3.1.10", + "@0x/subproviders": "^4.1.2", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "@ledgerhq/hw-app-eth": "^4.3.0", "@types/web3-provider-engine": "^14.0.0", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethers": "~4.0.4", "lodash": "^4.17.11" }, diff --git a/packages/order-utils/package.json b/packages/order-utils/package.json index 7894738279..7d91ad7e9a 100644 --- a/packages/order-utils/package.json +++ b/packages/order-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/order-utils", - "version": "8.2.2", + "version": "8.2.3", "engines": { "node": ">=6.12" }, @@ -36,7 +36,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/order-utils/README.md", "devDependencies": { - "@0x/dev-utils": "^2.2.4", + "@0x/dev-utils": "^2.2.5", "@0x/tslint-config": "^3.0.1", "@types/bn.js": "^4.11.0", "@types/lodash": "4.14.104", @@ -56,19 +56,19 @@ "web3-provider-engine": "14.0.6" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.0.2", - "@0x/assert": "^2.1.0", - "@0x/base-contract": "^5.1.1", + "@0x/abi-gen-wrappers": "^5.0.3", + "@0x/assert": "^2.1.1", + "@0x/base-contract": "^5.1.2", "@0x/contract-addresses": "^3.0.2", - "@0x/contract-artifacts": "^2.0.1", - "@0x/json-schemas": "^3.0.11", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/contract-artifacts": "^2.0.2", + "@0x/json-schemas": "^3.1.11", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "@types/node": "*", "bn.js": "^4.11.8", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethereumjs-abi": "0.6.5", "ethereumjs-util": "^5.1.1", "ethers": "~4.0.4", diff --git a/packages/order-watcher/package.json b/packages/order-watcher/package.json index 8e11224176..08d68432e9 100644 --- a/packages/order-watcher/package.json +++ b/packages/order-watcher/package.json @@ -1,6 +1,6 @@ { "name": "@0x/order-watcher", - "version": "4.0.14", + "version": "4.0.15", "description": "An order watcher daemon that watches for order validity", "keywords": [ "0x", @@ -34,9 +34,9 @@ "node": ">=6.0.0" }, "devDependencies": { - "@0x/dev-utils": "^2.2.4", - "@0x/migrations": "^4.1.9", - "@0x/subproviders": "^4.1.1", + "@0x/dev-utils": "^2.2.5", + "@0x/migrations": "^4.1.10", + "@0x/subproviders": "^4.1.2", "@0x/tslint-config": "^3.0.1", "@types/bintrees": "^1.0.2", "@types/lodash": "4.14.104", @@ -59,21 +59,21 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.0.2", - "@0x/assert": "^2.1.0", - "@0x/base-contract": "^5.1.1", + "@0x/abi-gen-wrappers": "^5.0.3", + "@0x/assert": "^2.1.1", + "@0x/base-contract": "^5.1.2", "@0x/contract-addresses": "^3.0.2", - "@0x/contract-artifacts": "^2.0.1", - "@0x/contract-wrappers": "^9.1.7", - "@0x/fill-scenarios": "^3.0.13", - "@0x/json-schemas": "^3.0.11", - "@0x/order-utils": "^8.2.2", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/contract-artifacts": "^2.0.2", + "@0x/contract-wrappers": "^9.1.8", + "@0x/fill-scenarios": "^3.0.14", + "@0x/json-schemas": "^3.1.11", + "@0x/order-utils": "^8.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "bintrees": "^1.0.2", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethereumjs-blockstream": "6.0.0", "ethers": "~4.0.4", "lodash": "^4.17.11", diff --git a/packages/react-docs/package.json b/packages/react-docs/package.json index eb5bd4d0d8..2a9ea6b530 100644 --- a/packages/react-docs/package.json +++ b/packages/react-docs/package.json @@ -1,6 +1,6 @@ { "name": "@0x/react-docs", - "version": "2.0.14", + "version": "2.0.15", "engines": { "node": ">=6.12" }, @@ -25,7 +25,7 @@ "url": "https://github.com/0xProject/0x-monorepo.git" }, "devDependencies": { - "@0x/dev-utils": "^2.2.4", + "@0x/dev-utils": "^2.2.5", "@0x/tslint-config": "^3.0.1", "@types/compare-versions": "^3.0.0", "@types/styled-components": "4.1.1", @@ -35,9 +35,9 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/react-shared": "^2.0.14", - "@0x/types": "^2.4.0", - "@0x/utils": "^4.4.0", + "@0x/react-shared": "^2.0.15", + "@0x/types": "^2.4.1", + "@0x/utils": "^4.4.1", "@types/lodash": "4.14.104", "@types/material-ui": "^0.20.0", "@types/node": "*", diff --git a/packages/react-shared/package.json b/packages/react-shared/package.json index 7a14245236..9cf89fda31 100644 --- a/packages/react-shared/package.json +++ b/packages/react-shared/package.json @@ -1,6 +1,6 @@ { "name": "@0x/react-shared", - "version": "2.0.14", + "version": "2.0.15", "engines": { "node": ">=6.12" }, @@ -26,7 +26,7 @@ "url": "https://github.com/0xProject/0x-monorepo.git" }, "devDependencies": { - "@0x/dev-utils": "^2.2.4", + "@0x/dev-utils": "^2.2.5", "@0x/tslint-config": "^3.0.1", "make-promises-safe": "^1.1.0", "shx": "^0.2.2", @@ -34,7 +34,7 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/types": "^2.4.0", + "@0x/types": "^2.4.1", "@material-ui/core": "^3.0.1", "@types/is-mobile": "0.3.0", "@types/lodash": "4.14.104", diff --git a/packages/sol-compiler/package.json b/packages/sol-compiler/package.json index 619922dca5..e7a69fcff4 100644 --- a/packages/sol-compiler/package.json +++ b/packages/sol-compiler/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-compiler", - "version": "3.1.9", + "version": "3.1.10", "engines": { "node": ">=6.12" }, @@ -43,7 +43,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-compiler/README.md", "devDependencies": { - "@0x/dev-utils": "^2.2.4", + "@0x/dev-utils": "^2.2.5", "@0x/tslint-config": "^3.0.1", "@types/chokidar": "^1.7.5", "@types/mkdirp": "^0.5.2", @@ -70,17 +70,17 @@ "zeppelin-solidity": "1.8.0" }, "dependencies": { - "@0x/assert": "^2.1.0", - "@0x/json-schemas": "^3.0.11", - "@0x/sol-resolver": "^2.0.8", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/assert": "^2.1.1", + "@0x/json-schemas": "^3.1.11", + "@0x/sol-resolver": "^2.0.9", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "@types/yargs": "^11.0.0", "chalk": "^2.3.0", "chokidar": "^2.0.4", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11", "mkdirp": "^0.5.1", diff --git a/packages/sol-coverage/package.json b/packages/sol-coverage/package.json index a664c03082..6b2d03f575 100644 --- a/packages/sol-coverage/package.json +++ b/packages/sol-coverage/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-coverage", - "version": "3.0.6", + "version": "3.0.7", "engines": { "node": ">=6.12" }, @@ -30,11 +30,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-coverage/README.md", "dependencies": { - "@0x/sol-tracing-utils": "^6.0.13", - "@0x/subproviders": "^4.1.1", - "@0x/typescript-typings": "^4.2.3", + "@0x/sol-tracing-utils": "^6.0.14", + "@0x/subproviders": "^4.1.2", + "@0x/typescript-typings": "^4.2.4", "@types/minimatch": "^3.0.3", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11", "minimatch": "^3.0.4", "web3-provider-engine": "14.0.6" diff --git a/packages/sol-doc/package.json b/packages/sol-doc/package.json index 2fd28010a9..7786520192 100644 --- a/packages/sol-doc/package.json +++ b/packages/sol-doc/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-doc", - "version": "2.0.13", + "version": "2.0.14", "description": "Solidity documentation generator", "main": "lib/src/index.js", "types": "lib/src/index.d.js", @@ -26,10 +26,10 @@ "author": "F. Eugene Aumson", "license": "Apache-2.0", "dependencies": { - "@0x/sol-compiler": "^3.1.9", - "@0x/types": "^2.4.0", - "@0x/utils": "^4.4.0", - "ethereum-types": "^2.1.3", + "@0x/sol-compiler": "^3.1.10", + "@0x/types": "^2.4.1", + "@0x/utils": "^4.4.1", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11", "yargs": "^10.0.3" diff --git a/packages/sol-profiler/package.json b/packages/sol-profiler/package.json index 22b2fc5050..1a7b6b3aea 100644 --- a/packages/sol-profiler/package.json +++ b/packages/sol-profiler/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-profiler", - "version": "3.1.8", + "version": "3.1.9", "engines": { "node": ">=6.12" }, @@ -30,11 +30,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-profiler/README.md", "dependencies": { - "@0x/sol-tracing-utils": "^6.0.13", - "@0x/subproviders": "^4.1.1", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "ethereum-types": "^2.1.3", + "@0x/sol-tracing-utils": "^6.0.14", + "@0x/subproviders": "^4.1.2", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11", "web3-provider-engine": "14.0.6" diff --git a/packages/sol-resolver/package.json b/packages/sol-resolver/package.json index 2fd30df86b..b7f153c94c 100644 --- a/packages/sol-resolver/package.json +++ b/packages/sol-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-resolver", - "version": "2.0.8", + "version": "2.0.9", "engines": { "node": ">=6.12" }, @@ -31,8 +31,8 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/packages/sol-trace/package.json b/packages/sol-trace/package.json index f4c254712f..7bf83101cf 100644 --- a/packages/sol-trace/package.json +++ b/packages/sol-trace/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-trace", - "version": "2.0.14", + "version": "2.0.15", "engines": { "node": ">=6.12" }, @@ -30,11 +30,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-trace/README.md", "dependencies": { - "@0x/sol-tracing-utils": "^6.0.13", - "@0x/subproviders": "^4.1.1", - "@0x/typescript-typings": "^4.2.3", + "@0x/sol-tracing-utils": "^6.0.14", + "@0x/subproviders": "^4.1.2", + "@0x/typescript-typings": "^4.2.4", "chalk": "^2.3.0", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11", "loglevel": "^1.6.1", diff --git a/packages/sol-tracing-utils/package.json b/packages/sol-tracing-utils/package.json index 54a500206b..87b0e31ab4 100644 --- a/packages/sol-tracing-utils/package.json +++ b/packages/sol-tracing-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-tracing-utils", - "version": "6.0.13", + "version": "6.0.14", "engines": { "node": ">=6.12" }, @@ -43,16 +43,16 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-tracing-utils/README.md", "dependencies": { - "@0x/dev-utils": "^2.2.4", - "@0x/sol-compiler": "^3.1.9", - "@0x/sol-resolver": "^2.0.8", - "@0x/subproviders": "^4.1.1", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/dev-utils": "^2.2.5", + "@0x/sol-compiler": "^3.1.10", + "@0x/sol-resolver": "^2.0.9", + "@0x/subproviders": "^4.1.2", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "@types/solidity-parser-antlr": "^0.2.3", "chalk": "^2.3.0", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "ethers": "~4.0.4", "glob": "^7.1.2", diff --git a/packages/sra-spec/package.json b/packages/sra-spec/package.json index 1907685ead..5fb12f08f5 100644 --- a/packages/sra-spec/package.json +++ b/packages/sra-spec/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sra-spec", - "version": "2.0.11", + "version": "2.0.12", "engines": { "node": ">=6.12" }, @@ -36,7 +36,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sra-spec/README.md", "dependencies": { - "@0x/json-schemas": "^3.0.11", + "@0x/json-schemas": "^3.1.11", "@loopback/openapi-v3-types": "^0.8.2" }, "devDependencies": { diff --git a/packages/subproviders/package.json b/packages/subproviders/package.json index 6c625091c7..f680da86ce 100644 --- a/packages/subproviders/package.json +++ b/packages/subproviders/package.json @@ -1,6 +1,6 @@ { "name": "@0x/subproviders", - "version": "4.1.1", + "version": "4.1.2", "engines": { "node": ">=6.12" }, @@ -30,11 +30,11 @@ } }, "dependencies": { - "@0x/assert": "^2.1.0", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/assert": "^2.1.1", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "@ledgerhq/hw-app-eth": "^4.3.0", "@ledgerhq/hw-transport-u2f": "4.24.0", "@types/eth-lightwallet": "^3.0.0", @@ -43,7 +43,7 @@ "bip39": "^2.5.0", "bn.js": "^4.11.8", "eth-lightwallet": "^3.0.1", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethereumjs-tx": "^1.3.5", "ethereumjs-util": "^5.1.1", "ganache-core": "^2.5.3", diff --git a/packages/types/package.json b/packages/types/package.json index 524d35012e..3fd92b807e 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@0x/types", - "version": "2.4.0", + "version": "2.4.1", "engines": { "node": ">=6.12" }, @@ -32,7 +32,7 @@ "dependencies": { "@types/node": "*", "bignumber.js": "~8.0.2", - "ethereum-types": "^2.1.3" + "ethereum-types": "^2.1.4" }, "publishConfig": { "access": "public" diff --git a/packages/typescript-typings/package.json b/packages/typescript-typings/package.json index bbeffdd84d..51f0fd544a 100644 --- a/packages/typescript-typings/package.json +++ b/packages/typescript-typings/package.json @@ -1,6 +1,6 @@ { "name": "@0x/typescript-typings", - "version": "4.2.3", + "version": "4.2.4", "engines": { "node": ">=6.12" }, @@ -27,7 +27,7 @@ "@types/bn.js": "^4.11.0", "@types/react": "*", "bignumber.js": "~8.0.2", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "popper.js": "1.14.3" }, "devDependencies": { diff --git a/packages/utils/package.json b/packages/utils/package.json index 9807f58f6d..5c71f36b1f 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/utils", - "version": "4.4.0", + "version": "4.4.1", "engines": { "node": ">=6.12" }, @@ -45,14 +45,14 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", "@types/node": "*", "abortcontroller-polyfill": "^1.1.9", "bignumber.js": "~8.0.2", "chalk": "^2.3.0", "detect-node": "2.0.3", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "ethers": "~4.0.4", "isomorphic-fetch": "2.2.1", diff --git a/packages/web3-wrapper/package.json b/packages/web3-wrapper/package.json index c1ffef9166..af43fdf05c 100644 --- a/packages/web3-wrapper/package.json +++ b/packages/web3-wrapper/package.json @@ -1,6 +1,6 @@ { "name": "@0x/web3-wrapper", - "version": "6.0.7", + "version": "6.0.8", "engines": { "node": ">=6.12" }, @@ -54,11 +54,11 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/assert": "^2.1.0", - "@0x/json-schemas": "^3.0.11", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "ethereum-types": "^2.1.3", + "@0x/assert": "^2.1.1", + "@0x/json-schemas": "^3.1.11", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "ethers": "~4.0.4", "lodash": "^4.17.11" From 65e5b09cd1edd5887be25f34d7b5ac5674f494fb Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 24 Jul 2019 19:23:05 +0200 Subject: [PATCH 006/162] Fix outdated versions of monorepo dependencies --- packages/instant/package.json | 10 +++++----- packages/monorepo-scripts/package.json | 4 ++-- packages/python-contract-wrappers/package.json | 2 +- packages/testnet-faucets/package.json | 10 +++++----- packages/website/package.json | 12 ++++++------ 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/instant/package.json b/packages/instant/package.json index 159cdd999b..6e783a5451 100644 --- a/packages/instant/package.json +++ b/packages/instant/package.json @@ -47,15 +47,15 @@ "@0x/asset-buyer": "6.1.4", "@0x/json-schemas": "^3.0.11", "@0x/order-utils": "^8.2.2", - "@0x/subproviders": "^4.1.1", - "@0x/types": "^2.4.0", + "@0x/subproviders": "^4.1.2", + "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "babel-runtime": "^6.26.0", "bowser": "^1.9.4", "copy-to-clipboard": "^3.0.8", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "lodash": "^4.17.11", "polished": "^1.9.2", "react": "^16.5.2", diff --git a/packages/monorepo-scripts/package.json b/packages/monorepo-scripts/package.json index ee5f647ad6..e77a260a40 100644 --- a/packages/monorepo-scripts/package.json +++ b/packages/monorepo-scripts/package.json @@ -48,8 +48,8 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/types": "^2.4.0", - "@0x/utils": "^4.4.0", + "@0x/types": "^2.4.1", + "@0x/utils": "^4.4.1", "@lerna/batch-packages": "^3.0.0-beta.18", "@types/depcheck": "^0.6.0", "async-child-process": "^1.1.1", diff --git a/packages/python-contract-wrappers/package.json b/packages/python-contract-wrappers/package.json index 0aaef82252..4d27dcd5ce 100644 --- a/packages/python-contract-wrappers/package.json +++ b/packages/python-contract-wrappers/package.json @@ -25,7 +25,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/python-contract-wrappers/README.md", "devDependencies": { - "@0x/abi-gen": "^2.1.1", + "@0x/abi-gen": "^3.1.1", "shx": "^0.2.2" }, "publishConfig": { diff --git a/packages/testnet-faucets/package.json b/packages/testnet-faucets/package.json index edc52a40c0..944941f560 100644 --- a/packages/testnet-faucets/package.json +++ b/packages/testnet-faucets/package.json @@ -20,12 +20,12 @@ "license": "Apache-2.0", "dependencies": { "0x.js": "^6.0.12", - "@0x/subproviders": "^4.1.1", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/subproviders": "^4.1.2", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "body-parser": "^1.17.1", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethereumjs-tx": "^1.3.5", "ethereumjs-util": "^5.1.1", "express": "^4.15.2", diff --git a/packages/website/package.json b/packages/website/package.json index cdebc46466..ea44b849f6 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -28,11 +28,11 @@ "@0x/order-utils": "^8.2.2", "@0x/react-docs": "^2.0.14", "@0x/react-shared": "^2.0.14", - "@0x/subproviders": "^4.1.1", - "@0x/types": "^2.4.0", - "@0x/typescript-typings": "^4.2.3", - "@0x/utils": "^4.4.0", - "@0x/web3-wrapper": "^6.0.7", + "@0x/subproviders": "^4.1.2", + "@0x/types": "^2.4.1", + "@0x/typescript-typings": "^4.2.4", + "@0x/utils": "^4.4.1", + "@0x/web3-wrapper": "^6.0.8", "@reach/dialog": "^0.1.2", "@types/react-lazyload": "^2.3.1", "@types/react-loadable": "^5.4.2", @@ -43,7 +43,7 @@ "blockies": "^0.0.2", "bowser": "^1.9.4", "deep-equal": "^1.0.1", - "ethereum-types": "^2.1.3", + "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "find-versions": "^2.0.0", "jsonschema": "^1.2.0", From 0a47d89963d2940df1e139dc5a973462ed09aee2 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Tue, 23 Jul 2019 15:40:21 +0200 Subject: [PATCH 007/162] Use spawn instead of exec so we can bubble up the OTP prompt since OTP is only valid for 30sec, and we might need several --- packages/monorepo-scripts/src/publish.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/monorepo-scripts/src/publish.ts b/packages/monorepo-scripts/src/publish.ts index a2eedc7d3a..05cba7e101 100644 --- a/packages/monorepo-scripts/src/publish.ts +++ b/packages/monorepo-scripts/src/publish.ts @@ -264,10 +264,25 @@ async function lernaPublishAsync(packageToNextVersion: { [name: string]: string lernaPublishCmd += ` --no-git-tag-version --no-push`; } utils.log('Lerna is publishing...'); - await execAsync(lernaPublishCmd, { + const child = await spawnAsync(lernaPublishCmd, { cwd: constants.monorepoRootPath, maxBuffer: 102400000, // 500 * 1024 * 200 }); + child.stdout.on('data', async (data: Buffer) => { + const output = data.toString('utf8'); + utils.log('Lerna publish cmd: ', output); + const isOTPPrompt = _.includes(output, 'Enter OTP:'); + if (isOTPPrompt) { + // Prompt for OTP + prompt.start(); + const result = await promisify(prompt.get)(['OTP']); + child.stdin.write(`${result.OTP}\n`); + } + }); + child.stderr.on('data', (data: Buffer) => { + const output = data.toString('utf8'); + utils.log('Lerna publish cmd: ', output); + }); } function updateVersionNumberIfNeeded(currentVersion: string, proposedNextVersion: string): string { From cd2d756717227da03e08f256d086bc13492eff02 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 24 Jul 2019 17:03:06 +0200 Subject: [PATCH 008/162] Use spawn instead of exec so we can intercept any 2FA requests and bubble them to the user --- packages/monorepo-scripts/src/publish.ts | 76 +++++++++++++++--------- 1 file changed, 49 insertions(+), 27 deletions(-) diff --git a/packages/monorepo-scripts/src/publish.ts b/packages/monorepo-scripts/src/publish.ts index 05cba7e101..1cfe3a6414 100644 --- a/packages/monorepo-scripts/src/publish.ts +++ b/packages/monorepo-scripts/src/publish.ts @@ -2,10 +2,13 @@ import { PackageJSON } from '@0x/types'; import { logUtils } from '@0x/utils'; +import { spawn } from 'child_process'; import * as promisify from 'es6-promisify'; +import * as fs from 'fs'; import * as _ from 'lodash'; import * as moment from 'moment'; import opn = require('opn'); +import * as path from 'path'; import { exec as execAsync, spawn as spawnAsync } from 'promisify-child-process'; import * as prompt from 'prompt'; import semver = require('semver'); @@ -254,34 +257,53 @@ async function updateChangeLogsAsync(updatedPublicPackages: Package[]): Promise< } async function lernaPublishAsync(packageToNextVersion: { [name: string]: string }): Promise { - const packageVersionString = _.map(packageToNextVersion, (nextVersion: string, packageName: string) => { - return `${packageName}@${nextVersion}`; - }).join(','); - let lernaPublishCmd = `node ${constants.lernaExecutable} publish --cdVersions=${packageVersionString} --registry=${ - configs.NPM_REGISTRY_URL - } --yes`; - if (configs.IS_LOCAL_PUBLISH) { - lernaPublishCmd += ` --no-git-tag-version --no-push`; - } - utils.log('Lerna is publishing...'); - const child = await spawnAsync(lernaPublishCmd, { - cwd: constants.monorepoRootPath, - maxBuffer: 102400000, // 500 * 1024 * 200 - }); - child.stdout.on('data', async (data: Buffer) => { - const output = data.toString('utf8'); - utils.log('Lerna publish cmd: ', output); - const isOTPPrompt = _.includes(output, 'Enter OTP:'); - if (isOTPPrompt) { - // Prompt for OTP - prompt.start(); - const result = await promisify(prompt.get)(['OTP']); - child.stdin.write(`${result.OTP}\n`); + return new Promise((resolve, reject) => { + const packageVersionString = _.map(packageToNextVersion, (nextVersion: string, packageName: string) => { + return `${packageName}|${nextVersion}`; + }).join(','); + const cdVersionsFilepath = path.join(__dirname, 'cd_versions.txt'); + fs.writeFileSync(cdVersionsFilepath, packageVersionString); + const lernaPublishCmd = `node`; + const lernaPublishArgs = [ + `${constants.lernaExecutable}`, + 'publish', + `--cdVersions=${cdVersionsFilepath}`, + `--registry=${configs.NPM_REGISTRY_URL}`, + `--yes`, + ]; + if (configs.IS_LOCAL_PUBLISH) { + lernaPublishArgs.push('--no-git-tag-version'); + lernaPublishArgs.push('--no-push'); + } + utils.log('Lerna is publishing...'); + try { + const child = spawn(lernaPublishCmd, lernaPublishArgs, { + cwd: constants.monorepoRootPath, + }); + child.stdout.on('data', async (data: Buffer) => { + const output = data.toString('utf8'); + utils.log('Lerna publish cmd: ', output); + const isOTPPrompt = _.includes(output, 'Enter OTP:'); + if (isOTPPrompt) { + // Prompt for OTP + prompt.start(); + const result = await promisify(prompt.get)(['OTP']); + child.stdin.write(`${result.OTP}\n`); + } + const didFinishPublishing = _.includes(output, 'Successfully published:'); + if (didFinishPublishing) { + // Remove temporary cdVersions file + fs.unlinkSync(cdVersionsFilepath); + resolve(); + } + }); + child.stderr.on('data', (data: Buffer) => { + const output = data.toString('utf8'); + utils.log('Lerna publish cmd: ', output); + }); + } catch (err) { + reject(err); } - }); - child.stderr.on('data', (data: Buffer) => { - const output = data.toString('utf8'); - utils.log('Lerna publish cmd: ', output); }); } From 910bba99764139c87154de07217ff8970bcc8a99 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 24 Jul 2019 17:19:00 +0200 Subject: [PATCH 009/162] Bump Lerna fork version to include change of cdVersions flag to file path and separator to | between package versions --- package.json | 2 +- yarn.lock | 62 ++++++++++++++++++++++++++++++++++------------------ 2 files changed, 42 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 70e732e5f4..14a1a7fd8e 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "graceful-fs": "4.1.15" }, "devDependencies": { - "@0x-lerna-fork/lerna": "3.16.7", + "@0x-lerna-fork/lerna": "3.16.8", "@0xproject/npm-cli-login": "^0.0.11", "async-child-process": "^1.1.1", "bundlewatch": "^0.2.1", diff --git a/yarn.lock b/yarn.lock index 48bb2f1ca8..04a7d2ddf4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -56,16 +56,16 @@ read-package-tree "^5.1.6" semver "^6.2.0" -"@0x-lerna-fork/changed@3.16.7": - version "3.16.7" - resolved "https://registry.yarnpkg.com/@0x-lerna-fork/changed/-/changed-3.16.7.tgz#20529ddb56b951a75d10ed9ebfbc6b4ec9214e7e" - integrity sha512-26F9E0bitgoEYjb9yfJJAkb1ViMmJLTAYypxLatPuvNMFb90y3pq9YSrLXkGTxg8s6pB2uDdRD/JnnDjFge3XQ== +"@0x-lerna-fork/changed@3.16.8": + version "3.16.8" + resolved "https://registry.yarnpkg.com/@0x-lerna-fork/changed/-/changed-3.16.8.tgz#f99767c08c1070506fcca066b829f9b20506c821" + integrity sha512-aQb6NoOrjHZbp+vccVpnIjMlot2oqiFUb+dJB5gH0c+Iw7MGb5KSKkF1lODt76U54VCqT3IsBdHB+U1O7bCWrg== dependencies: "@0x-lerna-fork/collect-updates" "3.16.3" "@0x-lerna-fork/command" "3.16.3" "@0x-lerna-fork/listable" "3.16.3" "@0x-lerna-fork/output" "3.16.3" - "@0x-lerna-fork/version" "3.16.7" + "@0x-lerna-fork/version" "3.16.8" "@0x-lerna-fork/check-working-tree@3.16.3": version "3.16.3" @@ -318,14 +318,14 @@ p-map "^2.1.0" write-json-file "^3.2.0" -"@0x-lerna-fork/lerna@3.16.7": - version "3.16.7" - resolved "https://registry.yarnpkg.com/@0x-lerna-fork/lerna/-/lerna-3.16.7.tgz#0c36ccc46b4dd217f476f9e70a568432cdbc4130" - integrity sha512-wajiUnqJnyU6gQV69isVfaLoRzueMWKzYayMHqzVfXGFNlUH8qc19YLQtD14ec8PQpDIMUlKmhEsQv4KNo9j3Q== +"@0x-lerna-fork/lerna@3.16.8": + version "3.16.8" + resolved "https://registry.yarnpkg.com/@0x-lerna-fork/lerna/-/lerna-3.16.8.tgz#d8c697db74d598f5ee4e18621ee6c353e9151068" + integrity sha512-gkBFBmigBClHQE5JwEP+yE5iuLnY+xEsfUXvSWvpkDN0IOS/kh/74FVbhOzHfrotooA6x+oTOZE5l3cOMOCyuA== dependencies: "@0x-lerna-fork/add" "3.16.3" "@0x-lerna-fork/bootstrap" "3.16.3" - "@0x-lerna-fork/changed" "3.16.7" + "@0x-lerna-fork/changed" "3.16.8" "@0x-lerna-fork/clean" "3.16.3" "@0x-lerna-fork/cli" "3.16.3" "@0x-lerna-fork/create" "3.16.3" @@ -335,9 +335,9 @@ "@0x-lerna-fork/init" "3.16.3" "@0x-lerna-fork/link" "3.16.3" "@0x-lerna-fork/list" "3.16.3" - "@0x-lerna-fork/publish" "3.16.7" + "@0x-lerna-fork/publish" "3.16.8" "@0x-lerna-fork/run" "3.16.3" - "@0x-lerna-fork/version" "3.16.7" + "@0x-lerna-fork/version" "3.16.8" import-local "^2.0.0" npmlog "^4.1.2" @@ -519,10 +519,10 @@ inquirer "^6.2.0" npmlog "^4.1.2" -"@0x-lerna-fork/publish@3.16.7": - version "3.16.7" - resolved "https://registry.yarnpkg.com/@0x-lerna-fork/publish/-/publish-3.16.7.tgz#5f23fbd106eb5dffb5fc15980e03c9edff901519" - integrity sha512-1TLcFi7yOn7FqXoEZf62ND62pPR0OfnBWhRoq3d+b6IUpUl+srkjaznncf0KflJU0ccXMA/2z6uh72IpkvRGCw== +"@0x-lerna-fork/publish@3.16.8": + version "3.16.8" + resolved "https://registry.yarnpkg.com/@0x-lerna-fork/publish/-/publish-3.16.8.tgz#9f2bdf8a6085b33af67dc67c700d48b29ddd032f" + integrity sha512-II9XEvc7nskBTxWwWnim+T+V+IAUSMO3+ffMUd5U9crhSASuWS1tNdBGjNJPMMaqSGzswUEUxI8PjlfcfVEOIw== dependencies: "@0x-lerna-fork/check-working-tree" "3.16.3" "@0x-lerna-fork/child-process" "3.16.3" @@ -542,7 +542,7 @@ "@0x-lerna-fork/run-lifecycle" "3.16.3" "@0x-lerna-fork/run-topologically" "3.16.3" "@0x-lerna-fork/validation-error" "3.16.3" - "@0x-lerna-fork/version" "3.16.7" + "@0x-lerna-fork/version" "3.16.8" "@evocateur/libnpmaccess" "^3.1.2" "@evocateur/npm-registry-fetch" "^4.0.0" "@evocateur/pacote" "^9.6.3" @@ -665,10 +665,10 @@ dependencies: npmlog "^4.1.2" -"@0x-lerna-fork/version@3.16.7": - version "3.16.7" - resolved "https://registry.yarnpkg.com/@0x-lerna-fork/version/-/version-3.16.7.tgz#f223d1ea27716f6b47a87cfd856c95c14f7edb3c" - integrity sha512-WIHT/SnXk49+LzSm65niFm78AyMq+DilDsJ3aGc4eSBEu3ADpMufRNy6ksmI6NB3uk1+KHq/o6at/9vq6bCRMQ== +"@0x-lerna-fork/version@3.16.8": + version "3.16.8" + resolved "https://registry.yarnpkg.com/@0x-lerna-fork/version/-/version-3.16.8.tgz#7e08c81149c82507e50e5c1458b748ba84b1c207" + integrity sha512-g/oPaNUPw0guxhg6J+3mO7R+RjKlCIZY7vX52pgD7ddnW9znmUepClnEoY92CSDnCqXt3YmZEZsDxeSK0gyycQ== dependencies: "@0x-lerna-fork/check-working-tree" "3.16.3" "@0x-lerna-fork/child-process" "3.16.3" @@ -715,6 +715,26 @@ dependencies: "@0x/base-contract" "^5.1.0" +"@0x/abi-gen@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@0x/abi-gen/-/abi-gen-2.1.1.tgz#2ca9072e64a2a46b6149aaea434f09d5dbf0866f" + integrity sha512-QLigDvQEGe248MjafJ58nWfwMbz+Va6KTlCsrADTuQd711XY10c95poDPevOfAXNHFZYpgS6rEzIau0WmY+Kbw== + dependencies: + "@0x/types" "^2.4.0" + "@0x/typescript-typings" "^4.2.3" + "@0x/utils" "^4.4.0" + chalk "^2.3.0" + change-case "^3.0.2" + cli-format "^3.0.9" + ethereum-types "^2.1.3" + glob "^7.1.2" + handlebars "^4.0.11" + lodash "^4.17.11" + mkdirp "^0.5.1" + tmp "^0.0.33" + to-snake-case "^1.0.0" + yargs "^10.0.3" + "@0x/asset-buyer@6.1.4": version "6.1.4" resolved "https://registry.yarnpkg.com/@0x/asset-buyer/-/asset-buyer-6.1.4.tgz#ea863b860fbae6f633846bdcf23cacbb345aefd1" From fef1bd13b5bd80a82396c297a114ba67168ba341 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 24 Jul 2019 17:26:54 +0200 Subject: [PATCH 010/162] Add HACK comment about writing cdVersions to a file --- packages/monorepo-scripts/src/publish.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/monorepo-scripts/src/publish.ts b/packages/monorepo-scripts/src/publish.ts index 1cfe3a6414..d5ca4fa284 100644 --- a/packages/monorepo-scripts/src/publish.ts +++ b/packages/monorepo-scripts/src/publish.ts @@ -261,6 +261,10 @@ async function lernaPublishAsync(packageToNextVersion: { [name: string]: string const packageVersionString = _.map(packageToNextVersion, (nextVersion: string, packageName: string) => { return `${packageName}|${nextVersion}`; }).join(','); + // HACK(fabio): Previously we would pass the packageVersionString directly to `lerna publish` using the + // `--cdVersions` flag. Since we now need to use `spawn` instead of `exec` when calling Lerna, passing + // them as a string arg is causing `spawn` to error with `ENAMETOOLONG`. In order to shorten the args + // passed to `spawn` we now write the new version to a file and pass the filepath to the `cdVersions` arg. const cdVersionsFilepath = path.join(__dirname, 'cd_versions.txt'); fs.writeFileSync(cdVersionsFilepath, packageVersionString); const lernaPublishCmd = `node`; @@ -302,6 +306,8 @@ async function lernaPublishAsync(packageToNextVersion: { [name: string]: string utils.log('Lerna publish cmd: ', output); }); } catch (err) { + // Remove temporary cdVersions file + fs.unlinkSync(cdVersionsFilepath); reject(err); } }); From 6d7adb277eb8f2216c5ef6aab6ca8a5bb5c69414 Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 24 Jul 2019 10:42:52 -0700 Subject: [PATCH 011/162] prettier --- packages/asset-swapper/CHANGELOG.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/asset-swapper/CHANGELOG.json b/packages/asset-swapper/CHANGELOG.json index bf4b06b803..862a3f8205 100644 --- a/packages/asset-swapper/CHANGELOG.json +++ b/packages/asset-swapper/CHANGELOG.json @@ -12,7 +12,7 @@ "pr": 1966 } ] - }, + }, { "timestamp": 1563193019, "version": "0.0.4", From 8bb3fb5bb3ac31d8a2c2b9bcb3fb28bf1b324fcf Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 24 Jul 2019 10:28:59 -0700 Subject: [PATCH 012/162] added optimization utils --- .../quote_consumers/exchange_swap_quote_consumer.ts | 6 ++++-- packages/asset-swapper/src/utils/assert.ts | 7 +++++++ .../src/utils/swap_quote_consumer_utils.ts | 13 ++++++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/packages/asset-swapper/src/quote_consumers/exchange_swap_quote_consumer.ts b/packages/asset-swapper/src/quote_consumers/exchange_swap_quote_consumer.ts index 140d6ee856..edbcffe0d9 100644 --- a/packages/asset-swapper/src/quote_consumers/exchange_swap_quote_consumer.ts +++ b/packages/asset-swapper/src/quote_consumers/exchange_swap_quote_consumer.ts @@ -77,6 +77,8 @@ export class ExchangeSwapQuoteConsumer implements SwapQuoteConsumerBase o.signature); + const optimizedOrders = swapQuoteConsumerUtils.optimizeOrdersForMarketExchangeOperation(orders, quote.type); + let params: ExchangeSmartContractParams; let methodName: string; @@ -84,7 +86,7 @@ export class ExchangeSwapQuoteConsumer implements SwapQuoteConsumerBase { + assert.assert(order.takerAssetData === takerAssetData, `Expected ${variableName}[${index}].takerAssetData to be ${takerAssetData}`); + assert.assert(order.makerAssetData === makerAssetData, `Expected ${variableName}[${index}].makerAssetData to be ${makerAssetData}`); + }); + }, isValidForwarderSwapQuote(variableName: string, swapQuote: SwapQuote, wethAssetData: string): void { assert.isValidSwapQuote(variableName, swapQuote); assert.isValidForwarderSignedOrders(`${variableName}.orders`, swapQuote.orders, wethAssetData); diff --git a/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts b/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts index 66c3eea345..50b37775ce 100644 --- a/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts +++ b/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts @@ -1,5 +1,5 @@ import { ContractWrappers } from '@0x/contract-wrappers'; -import { SignedOrder } from '@0x/types'; +import { SignedOrder, MarketOperation } from '@0x/types'; import { BigNumber } from '@0x/utils'; import { SupportedProvider, Web3Wrapper } from '@0x/web3-wrapper'; import { Provider } from 'ethereum-types'; @@ -72,6 +72,17 @@ export const swapQuoteConsumerUtils = { isValidForwarderSignedOrder(order: SignedOrder, wethAssetData: string): boolean { return order.takerAssetData === wethAssetData; }, + optimizeOrdersForMarketExchangeOperation(orders: SignedOrder[], operation: MarketOperation): SignedOrder[] { + return _.map(orders, (order: SignedOrder, index: number) => { + const optimizedOrder = _.clone(order); + if (operation === MarketOperation.Sell && index !== 0) { + optimizedOrder.takerAssetData = constants.NULL_ADDRESS; + } else if (index !== 0) { + optimizedOrder.makerAssetData = constants.NULL_ADDRESS; + } + return optimizedOrder; + }); + }, async getConsumerForSwapQuoteAsync( quote: SwapQuote, contractWrappers: ContractWrappers, From 9977626de0b7aedef1f0f4d85cf61fb78f983bfd Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 24 Jul 2019 10:36:58 -0700 Subject: [PATCH 013/162] Switched NULL_ADDRESS to NULL_BYTES --- packages/asset-swapper/src/constants.ts | 2 ++ packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/asset-swapper/src/constants.ts b/packages/asset-swapper/src/constants.ts index f7654046d4..4c9d0772c6 100644 --- a/packages/asset-swapper/src/constants.ts +++ b/packages/asset-swapper/src/constants.ts @@ -10,6 +10,7 @@ import { SwapQuoterOpts, } from './types'; +const NULL_BYTES = '0x'; const NULL_ADDRESS = '0x0000000000000000000000000000000000000000'; const MAINNET_NETWORK_ID = 1; const ONE_SECOND_MS = 1000; @@ -44,6 +45,7 @@ const DEFAULT_LIQUIDITY_REQUEST_OPTS: LiquidityRequestOpts = { }; export const constants = { + NULL_BYTES, ZERO_AMOUNT: new BigNumber(0), NULL_ADDRESS, MAINNET_NETWORK_ID, diff --git a/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts b/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts index 50b37775ce..7706652d7c 100644 --- a/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts +++ b/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts @@ -76,9 +76,9 @@ export const swapQuoteConsumerUtils = { return _.map(orders, (order: SignedOrder, index: number) => { const optimizedOrder = _.clone(order); if (operation === MarketOperation.Sell && index !== 0) { - optimizedOrder.takerAssetData = constants.NULL_ADDRESS; + optimizedOrder.takerAssetData = constants.NULL_BYTES; } else if (index !== 0) { - optimizedOrder.makerAssetData = constants.NULL_ADDRESS; + optimizedOrder.makerAssetData = constants.NULL_BYTES; } return optimizedOrder; }); From 91aa716c07ba7270dea2061463f87a0607a4307e Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 24 Jul 2019 10:38:54 -0700 Subject: [PATCH 014/162] prettier and lint --- packages/asset-swapper/src/utils/assert.ts | 24 +++++++++++++++---- .../src/utils/swap_quote_consumer_utils.ts | 2 +- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/packages/asset-swapper/src/utils/assert.ts b/packages/asset-swapper/src/utils/assert.ts index d8d15c2a83..926636de55 100644 --- a/packages/asset-swapper/src/utils/assert.ts +++ b/packages/asset-swapper/src/utils/assert.ts @@ -12,7 +12,12 @@ export const assert = { sharedAssert.isHexString(`${variableName}.makerAssetData`, swapQuote.makerAssetData); sharedAssert.doesConformToSchema(`${variableName}.orders`, swapQuote.orders, schemas.signedOrdersSchema); sharedAssert.doesConformToSchema(`${variableName}.feeOrders`, swapQuote.feeOrders, schemas.signedOrdersSchema); - assert.isValidOrdersForSwapQuote(`${variableName}.orders`, swapQuote.orders, swapQuote.makerAssetData, swapQuote.takerAssetData); + assert.isValidOrdersForSwapQuote( + `${variableName}.orders`, + swapQuote.orders, + swapQuote.makerAssetData, + swapQuote.takerAssetData, + ); assert.isValidSwapQuoteInfo(`${variableName}.bestCaseQuoteInfo`, swapQuote.bestCaseQuoteInfo); assert.isValidSwapQuoteInfo(`${variableName}.worstCaseQuoteInfo`, swapQuote.worstCaseQuoteInfo); if (swapQuote.type === MarketOperation.Buy) { @@ -21,10 +26,21 @@ export const assert = { sharedAssert.isBigNumber(`${variableName}.takerAssetFillAmount`, swapQuote.takerAssetFillAmount); } }, - isValidOrdersForSwapQuote(variableName: string, orders: SignedOrder[], makerAssetData: string, takerAssetData: string): void { + isValidOrdersForSwapQuote( + variableName: string, + orders: SignedOrder[], + makerAssetData: string, + takerAssetData: string, + ): void { _.every(orders, (order: SignedOrder, index: number) => { - assert.assert(order.takerAssetData === takerAssetData, `Expected ${variableName}[${index}].takerAssetData to be ${takerAssetData}`); - assert.assert(order.makerAssetData === makerAssetData, `Expected ${variableName}[${index}].makerAssetData to be ${makerAssetData}`); + assert.assert( + order.takerAssetData === takerAssetData, + `Expected ${variableName}[${index}].takerAssetData to be ${takerAssetData}`, + ); + assert.assert( + order.makerAssetData === makerAssetData, + `Expected ${variableName}[${index}].makerAssetData to be ${makerAssetData}`, + ); }); }, isValidForwarderSwapQuote(variableName: string, swapQuote: SwapQuote, wethAssetData: string): void { diff --git a/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts b/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts index 7706652d7c..0ca2651f06 100644 --- a/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts +++ b/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts @@ -1,5 +1,5 @@ import { ContractWrappers } from '@0x/contract-wrappers'; -import { SignedOrder, MarketOperation } from '@0x/types'; +import { MarketOperation, SignedOrder } from '@0x/types'; import { BigNumber } from '@0x/utils'; import { SupportedProvider, Web3Wrapper } from '@0x/web3-wrapper'; import { Provider } from 'ethereum-types'; From 3346024ea73938bca9a8b8474a366b778d36da1d Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 24 Jul 2019 22:20:09 +0200 Subject: [PATCH 015/162] Upgrade lerna fork to fix test-publish failure --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 14a1a7fd8e..7398c8536f 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "graceful-fs": "4.1.15" }, "devDependencies": { - "@0x-lerna-fork/lerna": "3.16.8", + "@0x-lerna-fork/lerna": "3.16.9", "@0xproject/npm-cli-login": "^0.0.11", "async-child-process": "^1.1.1", "bundlewatch": "^0.2.1", From 3d361c6b4a740bb1e0727c04b85f59f9af5cf968 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 24 Jul 2019 22:33:12 +0200 Subject: [PATCH 016/162] Special-case if there are no packages to publish --- packages/monorepo-scripts/src/utils/utils.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/monorepo-scripts/src/utils/utils.ts b/packages/monorepo-scripts/src/utils/utils.ts index c2969a3ba4..a7d60aca57 100644 --- a/packages/monorepo-scripts/src/utils/utils.ts +++ b/packages/monorepo-scripts/src/utils/utils.ts @@ -79,6 +79,9 @@ export const utils = { const result = await execAsync(`${constants.lernaExecutable} updated --json`, { cwd: constants.monorepoRootPath, }); + if (result.stdout === '') { + return []; + } const updatedPackages = JSON.parse(result.stdout); if (!shouldIncludePrivate) { const updatedPublicPackages = _.filter(updatedPackages, updatedPackage => !updatedPackage.private); From b86473f3c7bb2431feca73014755042abcb02400 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 24 Jul 2019 22:33:27 +0200 Subject: [PATCH 017/162] Update yarn.lock --- yarn.lock | 62 +++++++++++++++++++------------------------------------ 1 file changed, 21 insertions(+), 41 deletions(-) diff --git a/yarn.lock b/yarn.lock index 04a7d2ddf4..d5dfb9db30 100644 --- a/yarn.lock +++ b/yarn.lock @@ -56,16 +56,16 @@ read-package-tree "^5.1.6" semver "^6.2.0" -"@0x-lerna-fork/changed@3.16.8": - version "3.16.8" - resolved "https://registry.yarnpkg.com/@0x-lerna-fork/changed/-/changed-3.16.8.tgz#f99767c08c1070506fcca066b829f9b20506c821" - integrity sha512-aQb6NoOrjHZbp+vccVpnIjMlot2oqiFUb+dJB5gH0c+Iw7MGb5KSKkF1lODt76U54VCqT3IsBdHB+U1O7bCWrg== +"@0x-lerna-fork/changed@3.16.9": + version "3.16.9" + resolved "https://registry.yarnpkg.com/@0x-lerna-fork/changed/-/changed-3.16.9.tgz#79cd1597cae00a1700b8248c27f00f8aebf75873" + integrity sha512-njwFVyTlERlMuuAvdqsU1No7tv3MsNlCoquRjQORw7DhdfNENPWs4LzYqwu2OdlLlUiIt12GQI2pGOHJROZ7lg== dependencies: "@0x-lerna-fork/collect-updates" "3.16.3" "@0x-lerna-fork/command" "3.16.3" "@0x-lerna-fork/listable" "3.16.3" "@0x-lerna-fork/output" "3.16.3" - "@0x-lerna-fork/version" "3.16.8" + "@0x-lerna-fork/version" "3.16.9" "@0x-lerna-fork/check-working-tree@3.16.3": version "3.16.3" @@ -318,14 +318,14 @@ p-map "^2.1.0" write-json-file "^3.2.0" -"@0x-lerna-fork/lerna@3.16.8": - version "3.16.8" - resolved "https://registry.yarnpkg.com/@0x-lerna-fork/lerna/-/lerna-3.16.8.tgz#d8c697db74d598f5ee4e18621ee6c353e9151068" - integrity sha512-gkBFBmigBClHQE5JwEP+yE5iuLnY+xEsfUXvSWvpkDN0IOS/kh/74FVbhOzHfrotooA6x+oTOZE5l3cOMOCyuA== +"@0x-lerna-fork/lerna@3.16.9": + version "3.16.9" + resolved "https://registry.yarnpkg.com/@0x-lerna-fork/lerna/-/lerna-3.16.9.tgz#9a68fc960545a50ecf03b03ad88300f884e23fe9" + integrity sha512-4XegTdnSZCJG2Tg2aVtY0j09AyJ54z7ZMaH3c6zEwFk/opdXFsE1HkyYY9Ar2Qmzlo8HkoWLzo4wn2tsd9Bkiw== dependencies: "@0x-lerna-fork/add" "3.16.3" "@0x-lerna-fork/bootstrap" "3.16.3" - "@0x-lerna-fork/changed" "3.16.8" + "@0x-lerna-fork/changed" "3.16.9" "@0x-lerna-fork/clean" "3.16.3" "@0x-lerna-fork/cli" "3.16.3" "@0x-lerna-fork/create" "3.16.3" @@ -335,9 +335,9 @@ "@0x-lerna-fork/init" "3.16.3" "@0x-lerna-fork/link" "3.16.3" "@0x-lerna-fork/list" "3.16.3" - "@0x-lerna-fork/publish" "3.16.8" + "@0x-lerna-fork/publish" "3.16.9" "@0x-lerna-fork/run" "3.16.3" - "@0x-lerna-fork/version" "3.16.8" + "@0x-lerna-fork/version" "3.16.9" import-local "^2.0.0" npmlog "^4.1.2" @@ -519,10 +519,10 @@ inquirer "^6.2.0" npmlog "^4.1.2" -"@0x-lerna-fork/publish@3.16.8": - version "3.16.8" - resolved "https://registry.yarnpkg.com/@0x-lerna-fork/publish/-/publish-3.16.8.tgz#9f2bdf8a6085b33af67dc67c700d48b29ddd032f" - integrity sha512-II9XEvc7nskBTxWwWnim+T+V+IAUSMO3+ffMUd5U9crhSASuWS1tNdBGjNJPMMaqSGzswUEUxI8PjlfcfVEOIw== +"@0x-lerna-fork/publish@3.16.9": + version "3.16.9" + resolved "https://registry.yarnpkg.com/@0x-lerna-fork/publish/-/publish-3.16.9.tgz#282a4bcb660036f39c5f8bab18c8744ed8a073c9" + integrity sha512-OVafQ6TmhRSxNSUEtSSbwIS63VXdbzCt73j10HYvMEpzm7SjQhM5JvRDraBBn9gRjm/M4oH7mVffKcQBQYUw/w== dependencies: "@0x-lerna-fork/check-working-tree" "3.16.3" "@0x-lerna-fork/child-process" "3.16.3" @@ -542,7 +542,7 @@ "@0x-lerna-fork/run-lifecycle" "3.16.3" "@0x-lerna-fork/run-topologically" "3.16.3" "@0x-lerna-fork/validation-error" "3.16.3" - "@0x-lerna-fork/version" "3.16.8" + "@0x-lerna-fork/version" "3.16.9" "@evocateur/libnpmaccess" "^3.1.2" "@evocateur/npm-registry-fetch" "^4.0.0" "@evocateur/pacote" "^9.6.3" @@ -665,10 +665,10 @@ dependencies: npmlog "^4.1.2" -"@0x-lerna-fork/version@3.16.8": - version "3.16.8" - resolved "https://registry.yarnpkg.com/@0x-lerna-fork/version/-/version-3.16.8.tgz#7e08c81149c82507e50e5c1458b748ba84b1c207" - integrity sha512-g/oPaNUPw0guxhg6J+3mO7R+RjKlCIZY7vX52pgD7ddnW9znmUepClnEoY92CSDnCqXt3YmZEZsDxeSK0gyycQ== +"@0x-lerna-fork/version@3.16.9": + version "3.16.9" + resolved "https://registry.yarnpkg.com/@0x-lerna-fork/version/-/version-3.16.9.tgz#71df8f8f7af117b72764219577301b7b66c2accf" + integrity sha512-QkHjxElSdh0UdAQ3bEgk1ANDeaNwLkdCXA2gwEIg9FLS+Z/Dc6U2DZRng7rqX99tRkKjdnFOZJeawieCy5t0Sg== dependencies: "@0x-lerna-fork/check-working-tree" "3.16.3" "@0x-lerna-fork/child-process" "3.16.3" @@ -715,26 +715,6 @@ dependencies: "@0x/base-contract" "^5.1.0" -"@0x/abi-gen@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@0x/abi-gen/-/abi-gen-2.1.1.tgz#2ca9072e64a2a46b6149aaea434f09d5dbf0866f" - integrity sha512-QLigDvQEGe248MjafJ58nWfwMbz+Va6KTlCsrADTuQd711XY10c95poDPevOfAXNHFZYpgS6rEzIau0WmY+Kbw== - dependencies: - "@0x/types" "^2.4.0" - "@0x/typescript-typings" "^4.2.3" - "@0x/utils" "^4.4.0" - chalk "^2.3.0" - change-case "^3.0.2" - cli-format "^3.0.9" - ethereum-types "^2.1.3" - glob "^7.1.2" - handlebars "^4.0.11" - lodash "^4.17.11" - mkdirp "^0.5.1" - tmp "^0.0.33" - to-snake-case "^1.0.0" - yargs "^10.0.3" - "@0x/asset-buyer@6.1.4": version "6.1.4" resolved "https://registry.yarnpkg.com/@0x/asset-buyer/-/asset-buyer-6.1.4.tgz#ea863b860fbae6f633846bdcf23cacbb345aefd1" From 398097900c27f9dafc473362e48cec25e381e0b7 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 25 Jul 2019 11:30:55 +0200 Subject: [PATCH 018/162] Fix test-publish CI test when no packages exist to publish --- packages/monorepo-scripts/src/utils/utils.ts | 24 ++++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/monorepo-scripts/src/utils/utils.ts b/packages/monorepo-scripts/src/utils/utils.ts index a7d60aca57..262947eea4 100644 --- a/packages/monorepo-scripts/src/utils/utils.ts +++ b/packages/monorepo-scripts/src/utils/utils.ts @@ -76,18 +76,22 @@ export const utils = { return updatedPackages; }, async getLernaUpdatedPackagesAsync(shouldIncludePrivate: boolean): Promise { - const result = await execAsync(`${constants.lernaExecutable} updated --json`, { - cwd: constants.monorepoRootPath, - }); - if (result.stdout === '') { + try { + const result = await execAsync(`${constants.lernaExecutable} updated --json`, { + cwd: constants.monorepoRootPath, + }); + if (result.stdout === '') { + return []; + } + const updatedPackages = JSON.parse(result.stdout); + if (!shouldIncludePrivate) { + const updatedPublicPackages = _.filter(updatedPackages, updatedPackage => !updatedPackage.private); + return updatedPublicPackages; + } + return updatedPackages; + } catch (err) { return []; } - const updatedPackages = JSON.parse(result.stdout); - if (!shouldIncludePrivate) { - const updatedPublicPackages = _.filter(updatedPackages, updatedPackage => !updatedPackage.private); - return updatedPublicPackages; - } - return updatedPackages; }, async getNextPackageVersionAsync( currentVersion: string, From 967e361da3fb2275e61639d5da6c134dcffd022d Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 25 Jul 2019 11:40:13 +0200 Subject: [PATCH 019/162] Use https for all registry URLs --- yarn.lock | 146 +++++++++++++++++++++++++++--------------------------- 1 file changed, 73 insertions(+), 73 deletions(-) diff --git a/yarn.lock b/yarn.lock index d5dfb9db30..356659d8e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1084,7 +1084,7 @@ "@lerna/batch-packages@^3.0.0-beta.18": version "3.0.0-beta.18" - resolved "http://registry.yarnpkg.com/@lerna%2fbatch-packages/-/batch-packages-3.0.0-beta.18.tgz#69d5e3f5003e454a1615c38d9f0b65b10853625a" + resolved "https://registry.yarnpkg.com/@lerna%2fbatch-packages/-/batch-packages-3.0.0-beta.18.tgz#69d5e3f5003e454a1615c38d9f0b65b10853625a" dependencies: "@lerna/package-graph" "^3.0.0-beta.18" "@lerna/validation-error" "^3.0.0-beta.10" @@ -1412,7 +1412,7 @@ "@lerna/package-graph@^3.0.0-beta.18": version "3.0.0-beta.18" - resolved "http://registry.yarnpkg.com/@lerna%2fpackage-graph/-/package-graph-3.0.0-beta.18.tgz#8c33a6a10453d310e14fc9d317dc51e845e11963" + resolved "https://registry.yarnpkg.com/@lerna%2fpackage-graph/-/package-graph-3.0.0-beta.18.tgz#8c33a6a10453d310e14fc9d317dc51e845e11963" dependencies: npm-package-arg "^6.0.0" semver "^5.5.0" @@ -1562,7 +1562,7 @@ "@lerna/validation-error@^3.0.0-beta.10": version "3.0.0-beta.10" - resolved "http://registry.yarnpkg.com/@lerna%2fvalidation-error/-/validation-error-3.0.0-beta.10.tgz#cf5cbc39c4d27b89c6080e326de745f6fb7451ab" + resolved "https://registry.yarnpkg.com/@lerna%2fvalidation-error/-/validation-error-3.0.0-beta.10.tgz#cf5cbc39c4d27b89c6080e326de745f6fb7451ab" dependencies: npmlog "^4.1.2" @@ -1740,7 +1740,7 @@ "@sinonjs/formatio@^2.0.0": version "2.0.0" - resolved "http://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz#84db7e9eb5531df18a8c5e0bfb6e449e55e654b2" + resolved "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz#84db7e9eb5531df18a8c5e0bfb6e449e55e654b2" dependencies: samsam "1.3.0" @@ -2437,7 +2437,7 @@ JSONStream@^1.0.4: version "1.3.3" - resolved "http://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.3.tgz#27b4b8fbbfeab4e71bcf551e7f27be8d952239bf" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.3.tgz#27b4b8fbbfeab4e71bcf551e7f27be8d952239bf" dependencies: jsonparse "^1.2.0" through ">=2.2.7 <3" @@ -2803,7 +2803,7 @@ array-flatten@^2.1.0: array-ify@^1.0.0: version "1.0.0" - resolved "http://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" array-map@~0.0.0: version "0.0.0" @@ -3039,7 +3039,7 @@ aws4@^1.8.0: axios@^0.18.0: version "0.18.0" - resolved "http://registry.npmjs.org/axios/-/axios-0.18.0.tgz#32d53e4851efdc0a11993b6cd000789d70c05102" + resolved "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz#32d53e4851efdc0a11993b6cd000789d70c05102" dependencies: follow-redirects "^1.3.0" is-buffer "^1.1.5" @@ -3251,7 +3251,7 @@ babel-plugin-check-es2015-constants@^6.22.0: babel-plugin-istanbul@^4.1.6: version "4.1.6" - resolved "http://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" dependencies: babel-plugin-syntax-object-rest-spread "^6.13.0" find-up "^2.1.0" @@ -4306,7 +4306,7 @@ builtin-status-codes@^3.0.0: builtins@^1.0.3: version "1.0.3" - resolved "http://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" bundlewatch@^0.2.1: version "0.2.1" @@ -4324,7 +4324,7 @@ bundlewatch@^0.2.1: byline@^5.0.0: version "5.0.0" - resolved "http://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" + resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" byte-size@^4.0.3: version "4.0.3" @@ -4487,7 +4487,7 @@ camelcase-keys@^2.0.0: camelcase-keys@^4.0.0: version "4.2.0" - resolved "http://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" dependencies: camelcase "^4.1.0" map-obj "^2.0.0" @@ -4956,7 +4956,7 @@ cloneable-readable@^1.0.0: cmd-shim@^2.0.2: version "2.0.2" - resolved "http://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" dependencies: graceful-fs "^4.1.2" mkdirp "~0.5.0" @@ -5051,7 +5051,7 @@ colors@~1.1.2: columnify@^1.5.4: version "1.5.4" - resolved "http://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" dependencies: strip-ansi "^3.0.0" wcwidth "^1.0.0" @@ -5113,7 +5113,7 @@ commondir@^1.0.1: compare-func@^1.3.1: version "1.3.2" - resolved "http://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" dependencies: array-ify "^1.0.0" dot-prop "^3.0.0" @@ -5144,7 +5144,7 @@ compressible@~2.0.13: compression@^1.5.2: version "1.7.2" - resolved "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69" dependencies: accepts "~1.3.4" bytes "3.0.0" @@ -5187,7 +5187,7 @@ concat-stream@^2.0.0: config-chain@^1.1.11: version "1.1.11" - resolved "http://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" dependencies: ini "^1.3.4" proto-list "~1.2.1" @@ -5498,7 +5498,7 @@ cors@^2.8.5: cosmiconfig@^5.0.2: version "5.0.5" - resolved "http://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.5.tgz#a809e3c2306891ce17ab70359dc8bdf661fe2cd0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.5.tgz#a809e3c2306891ce17ab70359dc8bdf661fe2cd0" dependencies: is-directory "^0.3.1" js-yaml "^3.9.0" @@ -5826,7 +5826,7 @@ d@1: dargs@^4.0.1: version "4.1.0" - resolved "http://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" dependencies: number-is-nan "^1.0.0" @@ -5888,7 +5888,7 @@ debug@^4.0.1, debug@^4.1.0: debuglog@^1.0.1: version "1.0.1" - resolved "http://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" decache@^3.0.5: version "3.1.0" @@ -5898,7 +5898,7 @@ decache@^3.0.5: decamelize-keys@^1.0.0: version "1.1.0" - resolved "http://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" dependencies: decamelize "^1.1.0" map-obj "^1.0.0" @@ -5977,7 +5977,7 @@ decompress@^4.0.0: dedent@^0.7.0: version "0.7.0" - resolved "http://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" deep-eql@^3.0.0, deep-eql@^3.0.1: version "3.0.1" @@ -6187,7 +6187,7 @@ detect-indent@^4.0.0: detect-indent@^5.0.0: version "5.0.0" - resolved "http://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" detect-libc@^1.0.2, detect-libc@^1.0.3: version "1.0.3" @@ -6203,7 +6203,7 @@ detect-node@2.0.3, detect-node@^2.0.3: dezalgo@^1.0.0: version "1.0.3" - resolved "http://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" + resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" dependencies: asap "^2.0.0" wrappy "1" @@ -6390,7 +6390,7 @@ dot-case@^2.1.0: dot-prop@^3.0.0: version "3.0.0" - resolved "http://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" dependencies: is-obj "^1.0.0" @@ -6509,7 +6509,7 @@ elliptic@=6.4.0, elliptic@^6.0.0, elliptic@^6.2.3, elliptic@^6.4.0: elliptic@^3.1.0: version "3.1.0" - resolved "http://registry.npmjs.org/elliptic/-/elliptic-3.1.0.tgz#c21682ef762769b56a74201609105da11d5f60cc" + resolved "https://registry.npmjs.org/elliptic/-/elliptic-3.1.0.tgz#c21682ef762769b56a74201609105da11d5f60cc" dependencies: bn.js "^2.0.3" brorand "^1.0.1" @@ -7237,7 +7237,7 @@ event-stream@~0.5: event-stream@~3.3.0: version "3.3.4" - resolved "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + resolved "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" dependencies: duplexer "~0.1.1" from "~0" @@ -7301,7 +7301,7 @@ exec-sh@^0.2.0: execa@^0.10.0: version "0.10.0" - resolved "http://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" dependencies: cross-spawn "^6.0.0" get-stream "^3.0.0" @@ -8235,7 +8235,7 @@ get-func-name@^2.0.0: get-pkg-repo@^1.0.0: version "1.4.0" - resolved "http://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" + resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" dependencies: hosted-git-info "^2.1.4" meow "^3.3.0" @@ -8245,7 +8245,7 @@ get-pkg-repo@^1.0.0: get-port@^3.2.0: version "3.2.0" - resolved "http://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" get-port@^4.2.0: version "4.2.0" @@ -8314,7 +8314,7 @@ git-raw-commits@2.0.0, git-raw-commits@^2.0.0: git-remote-origin-url@^2.0.0: version "2.0.0" - resolved "http://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" dependencies: gitconfiglocal "^1.0.0" pify "^2.3.0" @@ -8351,7 +8351,7 @@ git-url-parse@^11.1.2: gitconfiglocal@^1.0.0: version "1.0.0" - resolved "http://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" dependencies: ini "^1.3.2" @@ -9017,7 +9017,7 @@ hosted-git-info@^2.1.4: hosted-git-info@^2.1.5, hosted-git-info@^2.6.0: version "2.7.1" - resolved "http://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" hpack.js@^2.1.6: version "2.1.6" @@ -9150,7 +9150,7 @@ http-proxy-agent@^2.1.0: http-proxy-middleware@~0.18.0: version "0.18.0" - resolved "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz#0987e6bb5a5606e5a69168d8f967a87f15dd8aab" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz#0987e6bb5a5606e5a69168d8f967a87f15dd8aab" dependencies: http-proxy "^1.16.2" is-glob "^4.0.0" @@ -9382,7 +9382,7 @@ ini@1.x.x, ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: init-package-json@^1.10.3: version "1.10.3" - resolved "http://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.3.tgz#45ffe2f610a8ca134f2bd1db5637b235070f6cbe" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.3.tgz#45ffe2f610a8ca134f2bd1db5637b235070f6cbe" dependencies: glob "^7.1.1" npm-package-arg "^4.0.0 || ^5.0.0 || ^6.0.0" @@ -9630,7 +9630,7 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-directory@^0.3.1: version "0.3.1" - resolved "http://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" is-dotfile@^1.0.0: version "1.0.3" @@ -9876,7 +9876,7 @@ is-string@^1.0.4: is-subset@^0.1.1: version "0.1.1" - resolved "http://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" + resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" is-svg@^2.0.0: version "2.1.0" @@ -9890,7 +9890,7 @@ is-symbol@^1.0.1: is-text-path@^1.0.0: version "1.0.1" - resolved "http://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" dependencies: text-extensions "^1.0.0" @@ -10639,7 +10639,7 @@ jsonpack@^1.1.5: jsonparse@^1.2.0: version "1.3.1" - resolved "http://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" jsonschema-draft4@^1.0.0: version "1.0.0" @@ -11377,7 +11377,7 @@ lodash.template@^3.0.0: lodash.template@^4.0.2: version "4.4.0" - resolved "http://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" dependencies: lodash._reinterpolate "~3.0.0" lodash.templatesettings "^4.0.0" @@ -11399,7 +11399,7 @@ lodash.templatesettings@^3.0.0: lodash.templatesettings@^4.0.0: version "4.1.0" - resolved "http://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" dependencies: lodash._reinterpolate "~3.0.0" @@ -11681,7 +11681,7 @@ map-obj@^1.0.0, map-obj@^1.0.1: map-obj@^2.0.0: version "2.0.0" - resolved "http://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" map-stream@~0.1.0: version "0.1.0" @@ -11819,7 +11819,7 @@ meow@^3.1.0, meow@^3.3.0, meow@^3.7.0: meow@^4.0.0: version "4.0.1" - resolved "http://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" + resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" dependencies: camelcase-keys "^4.0.0" decamelize-keys "^1.0.0" @@ -12022,7 +12022,7 @@ minimatch@~0.2.11: minimist-options@^3.0.1: version "3.0.2" - resolved "http://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" dependencies: arrify "^1.0.1" is-plain-obj "^1.1.0" @@ -12148,7 +12148,7 @@ mock-fs@^4.1.0: modify-values@^1.0.0: version "1.0.1" - resolved "http://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" + resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" moment-precise-range-plugin@^1.3.0: version "1.3.0" @@ -12391,7 +12391,7 @@ node-forge@0.7.1: node-gyp@^3.6.2: version "3.7.0" - resolved "http://registry.yarnpkg.com/node-gyp/-/node-gyp-3.7.0.tgz#789478e8f6c45e277aa014f3e28f958f286f9203" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.7.0.tgz#789478e8f6c45e277aa014f3e28f958f286f9203" dependencies: fstream "^1.0.0" glob "^7.0.3" @@ -12614,7 +12614,7 @@ npm-bundled@^1.0.1: npm-lifecycle@^2.0.0: version "2.0.3" - resolved "http://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-2.0.3.tgz#696bedf1143371163e9cc16fe872357e25d8d90e" + resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-2.0.3.tgz#696bedf1143371163e9cc16fe872357e25d8d90e" dependencies: byline "^5.0.0" graceful-fs "^4.1.11" @@ -12648,7 +12648,7 @@ npm-lifecycle@^3.1.0: "npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: version "6.1.0" - resolved "http://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1" dependencies: hosted-git-info "^2.6.0" osenv "^0.1.5" @@ -12980,7 +12980,7 @@ once@~1.3.0: onetime@^1.0.0: version "1.1.0" - resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + resolved "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" onetime@^2.0.0: version "2.0.1" @@ -13200,7 +13200,7 @@ p-locate@^3.0.0: p-map-series@^1.0.0: version "1.0.0" - resolved "http://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca" + resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca" dependencies: p-reduce "^1.0.0" @@ -13244,7 +13244,7 @@ p-try@^2.0.0: p-waterfall@^1.0.0: version "1.0.0" - resolved "http://registry.yarnpkg.com/p-waterfall/-/p-waterfall-1.0.0.tgz#7ed94b3ceb3332782353af6aae11aa9fc235bb00" + resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-1.0.0.tgz#7ed94b3ceb3332782353af6aae11aa9fc235bb00" dependencies: p-reduce "^1.0.0" @@ -13363,7 +13363,7 @@ parse-filepath@^1.0.1: parse-github-repo-url@^1.3.0: version "1.4.1" - resolved "http://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" + resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" parse-glob@^3.0.4: version "3.0.4" @@ -14077,7 +14077,7 @@ prompts@^0.1.9: promzard@^0.3.0: version "0.3.0" - resolved "http://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" dependencies: read "1" @@ -14108,7 +14108,7 @@ property-information@^5.0.1: proto-list@~1.2.1: version "1.2.4" - resolved "http://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" protocols@^1.1.0, protocols@^1.4.0: version "1.4.7" @@ -14354,7 +14354,7 @@ querystringify@~1.0.0: quick-lru@^1.0.0: version "1.1.0" - resolved "http://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" raf@^3.3.0: version "3.4.1" @@ -14843,13 +14843,13 @@ react@^16.5.2: read-cmd-shim@^1.0.1: version "1.0.1" - resolved "http://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" dependencies: graceful-fs "^4.1.2" "read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13: version "2.0.13" - resolved "http://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.13.tgz#2e82ebd9f613baa6d2ebe3aa72cefe3f68e41f4a" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.13.tgz#2e82ebd9f613baa6d2ebe3aa72cefe3f68e41f4a" dependencies: glob "^7.1.1" json-parse-better-errors "^1.0.1" @@ -14860,7 +14860,7 @@ read-cmd-shim@^1.0.1: read-package-tree@^5.1.6: version "5.2.1" - resolved "http://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.2.1.tgz#6218b187d6fac82289ce4387bbbaf8eef536ad63" + resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.2.1.tgz#6218b187d6fac82289ce4387bbbaf8eef536ad63" dependencies: debuglog "^1.0.1" dezalgo "^1.0.0" @@ -14968,7 +14968,7 @@ readable-stream@^3.0.6: readdir-scoped-modules@^1.0.0: version "1.0.2" - resolved "http://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" + resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" dependencies: debuglog "^1.0.1" dezalgo "^1.0.0" @@ -15032,7 +15032,7 @@ redent@^1.0.0: redent@^2.0.0: version "2.0.0" - resolved "http://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" + resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" dependencies: indent-string "^3.0.0" strip-indent "^2.0.0" @@ -15872,7 +15872,7 @@ semver@^6.0.0, semver@^6.2.0: semver@~5.3.0: version "5.3.0" - resolved "http://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" send@0.16.2: version "0.16.2" @@ -16437,7 +16437,7 @@ split-string@^3.0.1, split-string@^3.0.2: split2@^2.0.0: version "2.2.0" - resolved "http://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" + resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" dependencies: through2 "^2.0.2" @@ -16724,7 +16724,7 @@ strip-indent@^1.0.1: strip-indent@^2.0.0: version "2.0.0" - resolved "http://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" @@ -17046,7 +17046,7 @@ tar@^4.4.10, tar@^4.4.8: temp-dir@^1.0.0: version "1.0.0" - resolved "http://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" temp-write@^2.1.0: version "2.1.0" @@ -17061,7 +17061,7 @@ temp-write@^2.1.0: temp-write@^3.4.0: version "3.4.0" - resolved "http://registry.yarnpkg.com/temp-write/-/temp-write-3.4.0.tgz#8cff630fb7e9da05f047c74ce4ce4d685457d492" + resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-3.4.0.tgz#8cff630fb7e9da05f047c74ce4ce4d685457d492" dependencies: graceful-fs "^4.1.2" is-stream "^1.1.0" @@ -17123,7 +17123,7 @@ text-encoding@^0.6.4: text-extensions@^1.0.0: version "1.7.0" - resolved "http://registry.yarnpkg.com/text-extensions/-/text-extensions-1.7.0.tgz#faaaba2625ed746d568a23e4d0aacd9bf08a8b39" + resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.7.0.tgz#faaaba2625ed746d568a23e4d0aacd9bf08a8b39" text-extensions@^2.0.0: version "2.0.0" @@ -17365,11 +17365,11 @@ trim-newlines@^1.0.0: trim-newlines@^2.0.0: version "2.0.0" - resolved "http://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" trim-off-newlines@^1.0.0: version "1.0.1" - resolved "http://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" + resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" trim-right@^1.0.1: version "1.0.1" @@ -17716,7 +17716,7 @@ ultron@~1.1.0: umask@^1.1.0: version "1.1.0" - resolved "http://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" + resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" unbzip2-stream@^1.0.9: version "1.2.5" @@ -18099,7 +18099,7 @@ validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3: validate-npm-package-name@^3.0.0: version "3.0.0" - resolved "http://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" dependencies: builtins "^1.0.3" @@ -18280,7 +18280,7 @@ wbuf@^1.1.0, wbuf@^1.7.2: wcwidth@^1.0.0: version "1.0.1" - resolved "http://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" dependencies: defaults "^1.0.3" @@ -18976,7 +18976,7 @@ write-file-atomic@^2.4.2: write-json-file@^2.2.0, write-json-file@^2.3.0: version "2.3.0" - resolved "http://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" dependencies: detect-indent "^5.0.0" graceful-fs "^4.1.2" @@ -18999,7 +18999,7 @@ write-json-file@^3.2.0: write-pkg@^3.1.0: version "3.2.0" - resolved "http://registry.yarnpkg.com/write-pkg/-/write-pkg-3.2.0.tgz#0e178fe97820d389a8928bc79535dbe68c2cff21" + resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.2.0.tgz#0e178fe97820d389a8928bc79535dbe68c2cff21" dependencies: sort-keys "^2.0.0" write-json-file "^2.2.0" @@ -19123,7 +19123,7 @@ xml2js@0.4.19, xml2js@^0.4.17: xmlbuilder@^4.1.0: version "4.2.1" - resolved "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" dependencies: lodash "^4.0.0" From cc1ef6f26840482ae0f7a9b8a974be87599e90c4 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 25 Jul 2019 11:42:23 +0200 Subject: [PATCH 020/162] Update handlebars dep --- packages/abi-gen/package.json | 3 +-- yarn.lock | 6 +----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json index 6ea1c8f787..b5fa3a1a59 100644 --- a/packages/abi-gen/package.json +++ b/packages/abi-gen/package.json @@ -64,7 +64,7 @@ "cli-format": "^3.0.9", "ethereum-types": "^2.1.4", "glob": "^7.1.2", - "handlebars": "^4.0.11", + "handlebars": "^4.1.2", "lodash": "^4.17.11", "mkdirp": "^0.5.1", "tmp": "^0.0.33", @@ -80,7 +80,6 @@ "@0x/tslint-config": "^3.0.1", "@0x/web3-wrapper": "^6.0.8", "@types/glob": "5.0.35", - "@types/handlebars": "^4.0.36", "@types/mkdirp": "^0.5.2", "@types/node": "*", "@types/tmp": "^0.0.33", diff --git a/yarn.lock b/yarn.lock index 356659d8e6..7e3f87fd10 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1900,10 +1900,6 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/handlebars@^4.0.36": - version "4.0.37" - resolved "https://registry.yarnpkg.com/@types/handlebars/-/handlebars-4.0.37.tgz#a3bc3eba0c0f03f753cac00841a5b21e26a02c03" - "@types/handlebars@^4.0.38": version "4.0.39" resolved "https://registry.yarnpkg.com/@types/handlebars/-/handlebars-4.0.39.tgz#961fb54db68030890942e6aeffe9f93a957807bd" @@ -8746,7 +8742,7 @@ handlebars@^4.0.1, handlebars@^4.0.11, handlebars@^4.0.2, handlebars@^4.0.3, han optionalDependencies: uglify-js "^2.6" -handlebars@^4.1.0: +handlebars@^4.1.0, handlebars@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== From 5dd9e28f72081b5296e3169d461a42af32d97a97 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 25 Jul 2019 12:24:44 +0200 Subject: [PATCH 021/162] Fix handlebar header callbacks now that the typings changed --- packages/abi-gen/src/index.ts | 62 ++++++++++++++++------------------- 1 file changed, 28 insertions(+), 34 deletions(-) diff --git a/packages/abi-gen/src/index.ts b/packages/abi-gen/src/index.ts index a325d31c52..f650c3553c 100644 --- a/packages/abi-gen/src/index.ts +++ b/packages/abi-gen/src/index.ts @@ -107,49 +107,43 @@ function registerTypeScriptHelpers(): void { } function registerPythonHelpers(): void { - Handlebars.registerHelper('equal', (lhs, rhs, options) => { + Handlebars.registerHelper('equal', (lhs: any, rhs: any) => { return lhs === rhs; }); - Handlebars.registerHelper('safeString', (str, options) => new Handlebars.SafeString(str)); + Handlebars.registerHelper('safeString', (str: string) => new Handlebars.SafeString(str)); Handlebars.registerHelper('parameterType', utils.solTypeToPyType.bind(utils)); Handlebars.registerHelper('returnType', utils.solTypeToPyType.bind(utils)); Handlebars.registerHelper('toPythonIdentifier', utils.toPythonIdentifier.bind(utils)); - Handlebars.registerHelper( - 'sanitizeDevdocDetails', - (methodName: string, devdocDetails: string, indent: number, options) => { - // wrap to 80 columns, assuming given indent, so that generated - // docstrings can pass pycodestyle checks. - if (devdocDetails === undefined || devdocDetails.length === 0) { - return ''; - } - const columnsPerRow = 80; - return new Handlebars.SafeString( - `\n${cliFormat.wrap(devdocDetails || '', { - paddingLeft: ' '.repeat(indent), - width: columnsPerRow, - ansi: false, - })}\n`, - ); - }, - ); - Handlebars.registerHelper( - 'makeParameterDocstringRole', - (name: string, description: string, indent: number, options) => { - let docstring = `:param ${name}:`; - if (description && description.length > 0) { - docstring = `${docstring} ${description}`; - } - return new Handlebars.SafeString(utils.wrapPythonDocstringRole(docstring, indent)); - }, - ); + Handlebars.registerHelper('sanitizeDevdocDetails', (_methodName: string, devdocDetails: string, indent: number) => { + // wrap to 80 columns, assuming given indent, so that generated + // docstrings can pass pycodestyle checks. + if (devdocDetails === undefined || devdocDetails.length === 0) { + return ''; + } + const columnsPerRow = 80; + return new Handlebars.SafeString( + `\n${cliFormat.wrap(devdocDetails || '', { + paddingLeft: ' '.repeat(indent), + width: columnsPerRow, + ansi: false, + })}\n`, + ); + }); + Handlebars.registerHelper('makeParameterDocstringRole', (name: string, description: string, indent: number) => { + let docstring = `:param ${name}:`; + if (description && description.length > 0) { + docstring = `${docstring} ${description}`; + } + return new Handlebars.SafeString(utils.wrapPythonDocstringRole(docstring, indent)); + }); Handlebars.registerHelper( 'makeReturnDocstringRole', - (description: string, indent: number, options) => + (description: string, indent: number) => new Handlebars.SafeString(utils.wrapPythonDocstringRole(`:returns: ${description}`, indent)), ); Handlebars.registerHelper( 'makeEventParameterDocstringRole', - (eventName: string, indent: number, options) => + (eventName: string, indent: number) => new Handlebars.SafeString( utils.wrapPythonDocstringRole( `:param tx_hash: hash of transaction emitting ${eventName} event`, @@ -157,7 +151,7 @@ function registerPythonHelpers(): void { ), ), ); - Handlebars.registerHelper('tupleDefinitions', (abisJSON: string, options) => { + Handlebars.registerHelper('tupleDefinitions', (abisJSON: string) => { const abis: AbiDefinition[] = JSON.parse(abisJSON); // build an array of objects, each of which has one key, the Python // name of a tuple, with a string value holding the Python @@ -204,7 +198,7 @@ function registerPythonHelpers(): void { } return new Handlebars.SafeString(tupleDeclarations.join('\n\n')); }); - Handlebars.registerHelper('docBytesIfNecessary', (abisJSON: string, options) => { + Handlebars.registerHelper('docBytesIfNecessary', (abisJSON: string) => { const abis: AbiDefinition[] = JSON.parse(abisJSON); // see if any ABIs accept params of type bytes, and if so then emit // explanatory documentation string. From 25bd97a0142bf0ceb0e550ae808e99b1f6df8e43 Mon Sep 17 00:00:00 2001 From: David Sun Date: Thu, 25 Jul 2019 14:49:34 -0700 Subject: [PATCH 022/162] updated changelog --- packages/asset-swapper/CHANGELOG.json | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/packages/asset-swapper/CHANGELOG.json b/packages/asset-swapper/CHANGELOG.json index d98ff49605..153ea3e4f2 100644 --- a/packages/asset-swapper/CHANGELOG.json +++ b/packages/asset-swapper/CHANGELOG.json @@ -10,7 +10,7 @@ }, { "timestamp": 1563193019, - "version": "0.1.4", + "version": "0.0.4", "changes": [ { "note": "Switched MarketOperation type to enum and expanded default constants configuration", @@ -22,15 +22,6 @@ } ] }, - { - "timestamp": 1563193019, - "version": "0.0.4", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, { "timestamp": 1563047529, "version": "0.0.3", From c66d8f202a7b1c8073bea4b9ad1eb54a01064f65 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Fri, 26 Jul 2019 17:34:37 +0200 Subject: [PATCH 023/162] Update Mocha --- contracts/asset-proxy/package.json | 2 +- contracts/coordinator/package.json | 2 +- contracts/dev-utils/package.json | 2 +- contracts/erc1155/package.json | 2 +- contracts/erc20/package.json | 2 +- contracts/erc721/package.json | 2 +- contracts/exchange-forwarder/package.json | 2 +- contracts/exchange-libs/package.json | 2 +- contracts/exchange/package.json | 2 +- contracts/extensions/package.json | 2 +- contracts/multisig/package.json | 2 +- contracts/test-utils/package.json | 2 +- contracts/utils/package.json | 2 +- packages/abi-gen/package.json | 2 +- packages/assert/package.json | 2 +- packages/asset-buyer/package.json | 2 +- packages/asset-swapper/package.json | 2 +- packages/base-contract/package.json | 2 +- packages/connect/package.json | 2 +- packages/contract-artifacts/package.json | 2 +- packages/contract-wrappers/package.json | 2 +- packages/dev-utils/package.json | 2 +- packages/json-schemas/package.json | 2 +- packages/order-utils/package.json | 2 +- packages/order-watcher/package.json | 2 +- packages/sol-compiler/package.json | 5 +- packages/sol-doc/package.json | 2 +- packages/sol-tracing-utils/package.json | 2 +- packages/sra-spec/package.json | 2 +- packages/subproviders/package.json | 2 +- packages/utils/package.json | 2 +- packages/web3-wrapper/package.json | 2 +- yarn.lock | 460 ++++++++++++++++------ 33 files changed, 377 insertions(+), 150 deletions(-) diff --git a/contracts/asset-proxy/package.json b/contracts/asset-proxy/package.json index f72bd3f540..2dce4e7364 100644 --- a/contracts/asset-proxy/package.json +++ b/contracts/asset-proxy/package.json @@ -60,7 +60,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/contracts/coordinator/package.json b/contracts/coordinator/package.json index 3a947f5138..246ceb0b7f 100644 --- a/contracts/coordinator/package.json +++ b/contracts/coordinator/package.json @@ -60,7 +60,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/contracts/dev-utils/package.json b/contracts/dev-utils/package.json index 8726c44408..7e1a3b4dce 100644 --- a/contracts/dev-utils/package.json +++ b/contracts/dev-utils/package.json @@ -61,7 +61,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/contracts/erc1155/package.json b/contracts/erc1155/package.json index 9083c9000e..f3306cf31e 100644 --- a/contracts/erc1155/package.json +++ b/contracts/erc1155/package.json @@ -59,7 +59,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/contracts/erc20/package.json b/contracts/erc20/package.json index 67219280b2..d393a45e03 100644 --- a/contracts/erc20/package.json +++ b/contracts/erc20/package.json @@ -60,7 +60,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/contracts/erc721/package.json b/contracts/erc721/package.json index e61d0d0f25..006dd30c3e 100644 --- a/contracts/erc721/package.json +++ b/contracts/erc721/package.json @@ -60,7 +60,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/contracts/exchange-forwarder/package.json b/contracts/exchange-forwarder/package.json index 0fc7345b8b..ccfc58dda3 100644 --- a/contracts/exchange-forwarder/package.json +++ b/contracts/exchange-forwarder/package.json @@ -60,7 +60,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/contracts/exchange-libs/package.json b/contracts/exchange-libs/package.json index 44de133b91..3f9349c823 100644 --- a/contracts/exchange-libs/package.json +++ b/contracts/exchange-libs/package.json @@ -60,7 +60,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/contracts/exchange/package.json b/contracts/exchange/package.json index 2523d84f6d..ba300f9760 100644 --- a/contracts/exchange/package.json +++ b/contracts/exchange/package.json @@ -60,7 +60,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/contracts/extensions/package.json b/contracts/extensions/package.json index 4c1b97d0c6..e4e7d6cd33 100644 --- a/contracts/extensions/package.json +++ b/contracts/extensions/package.json @@ -61,7 +61,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/contracts/multisig/package.json b/contracts/multisig/package.json index a2e7ae1409..8dc46932dc 100644 --- a/contracts/multisig/package.json +++ b/contracts/multisig/package.json @@ -60,7 +60,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json index 82bae94d05..2117082f46 100644 --- a/contracts/test-utils/package.json +++ b/contracts/test-utils/package.json @@ -34,7 +34,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/test-utils/README.md", "devDependencies": { - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "tslint": "5.11.0", diff --git a/contracts/utils/package.json b/contracts/utils/package.json index 23436babf2..70d4cc1523 100644 --- a/contracts/utils/package.json +++ b/contracts/utils/package.json @@ -61,7 +61,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json index b5fa3a1a59..f28b96769b 100644 --- a/packages/abi-gen/package.json +++ b/packages/abi-gen/package.json @@ -89,7 +89,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "solhint": "^1.4.1", diff --git a/packages/assert/package.json b/packages/assert/package.json index 7b8696e9f5..1caa6887b0 100644 --- a/packages/assert/package.json +++ b/packages/assert/package.json @@ -37,7 +37,7 @@ "chai": "^4.0.1", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "shx": "^0.2.2", diff --git a/packages/asset-buyer/package.json b/packages/asset-buyer/package.json index 5ae6b7291a..6be38725d5 100644 --- a/packages/asset-buyer/package.json +++ b/packages/asset-buyer/package.json @@ -60,7 +60,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "shx": "^0.2.2", diff --git a/packages/asset-swapper/package.json b/packages/asset-swapper/package.json index 76c886fa1b..c8f532e35a 100644 --- a/packages/asset-swapper/package.json +++ b/packages/asset-swapper/package.json @@ -64,7 +64,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "shx": "^0.2.2", diff --git a/packages/base-contract/package.json b/packages/base-contract/package.json index 393f18c3d9..44686af856 100644 --- a/packages/base-contract/package.json +++ b/packages/base-contract/package.json @@ -34,7 +34,7 @@ "@types/lodash": "4.14.104", "chai": "^4.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "tslint": "5.11.0", diff --git a/packages/connect/package.json b/packages/connect/package.json index e2e96f945e..dd2f823cbb 100644 --- a/packages/connect/package.json +++ b/packages/connect/package.json @@ -73,7 +73,7 @@ "dirty-chai": "^2.0.1", "fetch-mock": "^5.13.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "shx": "^0.2.2", diff --git a/packages/contract-artifacts/package.json b/packages/contract-artifacts/package.json index 9c9cf52d3c..ccba30792e 100644 --- a/packages/contract-artifacts/package.json +++ b/packages/contract-artifacts/package.json @@ -33,7 +33,7 @@ "@0x/utils": "^4.4.1", "chai": "^4.0.1", "lodash": "^4.17.11", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "shx": "^0.2.2", "typescript": "3.0.1" }, diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index 90df78be36..eac6e1ae70 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -57,7 +57,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "nock": "^10.0.6", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index aa4ef0dea9..5377dc0987 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -34,7 +34,7 @@ "@types/lodash": "4.14.104", "@types/mocha": "^2.2.42", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "shx": "^0.2.2", diff --git a/packages/json-schemas/package.json b/packages/json-schemas/package.json index 592bacffd9..eb154a3275 100644 --- a/packages/json-schemas/package.json +++ b/packages/json-schemas/package.json @@ -55,7 +55,7 @@ "dirty-chai": "^2.0.1", "lodash.foreach": "^4.5.0", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "shx": "^0.2.2", diff --git a/packages/order-utils/package.json b/packages/order-utils/package.json index 7d91ad7e9a..3c952cc0a5 100644 --- a/packages/order-utils/package.json +++ b/packages/order-utils/package.json @@ -46,7 +46,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "sinon": "^4.0.0", diff --git a/packages/order-watcher/package.json b/packages/order-watcher/package.json index 08d68432e9..1d9a8ffb4b 100644 --- a/packages/order-watcher/package.json +++ b/packages/order-watcher/package.json @@ -48,7 +48,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "opn-cli": "^3.1.0", diff --git a/packages/sol-compiler/package.json b/packages/sol-compiler/package.json index e7a69fcff4..563de97bed 100644 --- a/packages/sol-compiler/package.json +++ b/packages/sol-compiler/package.json @@ -45,7 +45,6 @@ "devDependencies": { "@0x/dev-utils": "^2.2.5", "@0x/tslint-config": "^3.0.1", - "@types/chokidar": "^1.7.5", "@types/mkdirp": "^0.5.2", "@types/pluralize": "^0.0.29", "@types/require-from-string": "^1.2.0", @@ -57,7 +56,7 @@ "copyfiles": "^2.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "shx": "^0.2.2", @@ -79,7 +78,7 @@ "@0x/web3-wrapper": "^6.0.8", "@types/yargs": "^11.0.0", "chalk": "^2.3.0", - "chokidar": "^2.0.4", + "chokidar": "^3.0.2", "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11", diff --git a/packages/sol-doc/package.json b/packages/sol-doc/package.json index 7786520192..3ca41b0508 100644 --- a/packages/sol-doc/package.json +++ b/packages/sol-doc/package.json @@ -41,7 +41,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "shx": "^0.2.2", "source-map-support": "^0.5.0", "tslint": "5.11.0" diff --git a/packages/sol-tracing-utils/package.json b/packages/sol-tracing-utils/package.json index 87b0e31ab4..4779952fb1 100644 --- a/packages/sol-tracing-utils/package.json +++ b/packages/sol-tracing-utils/package.json @@ -77,7 +77,7 @@ "copyfiles": "^2.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "shx": "^0.2.2", diff --git a/packages/sra-spec/package.json b/packages/sra-spec/package.json index 5fb12f08f5..1a7387e637 100644 --- a/packages/sra-spec/package.json +++ b/packages/sra-spec/package.json @@ -48,7 +48,7 @@ "copyfiles": "^2.0.0", "dirty-chai": "^2.0.1", "discharge": "^0.7.1", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "redoc-cli": "^0.6.1", diff --git a/packages/subproviders/package.json b/packages/subproviders/package.json index f680da86ce..0e5478e216 100644 --- a/packages/subproviders/package.json +++ b/packages/subproviders/package.json @@ -67,7 +67,7 @@ "chai-as-promised": "^7.1.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "shx": "^0.2.2", diff --git a/packages/utils/package.json b/packages/utils/package.json index 5c71f36b1f..4c36254508 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -38,7 +38,7 @@ "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "tslint": "5.11.0", diff --git a/packages/web3-wrapper/package.json b/packages/web3-wrapper/package.json index af43fdf05c..be10cb1435 100644 --- a/packages/web3-wrapper/package.json +++ b/packages/web3-wrapper/package.json @@ -45,7 +45,7 @@ "dirty-chai": "^2.0.1", "ganache-core": "^2.5.3", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "shx": "^0.2.2", diff --git a/yarn.lock b/yarn.lock index 7e3f87fd10..06aeb65993 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1796,13 +1796,6 @@ version "0.22.9" resolved "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.9.tgz#b5990152604c2ada749b7f88cab3476f21f39d7b" -"@types/chokidar@^1.7.5": - version "1.7.5" - resolved "https://registry.yarnpkg.com/@types/chokidar/-/chokidar-1.7.5.tgz#1fa78c8803e035bed6d98e6949e514b133b0c9b6" - dependencies: - "@types/events" "*" - "@types/node" "*" - "@types/compare-versions@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/compare-versions/-/compare-versions-3.0.0.tgz#4a45dffe0ebbc00d0f2daef8a0e96ffc66cf5955" @@ -2623,6 +2616,11 @@ ansi-align@^2.0.0: dependencies: string-width "^2.0.0" +ansi-colors@3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" + integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== + ansi-colors@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.1.0.tgz#dcfaacc90ef9187de413ec3ef8d5eb981a98808f" @@ -2705,6 +2703,14 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" +anymatch@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.0.3.tgz#2fb624fe0e84bccab00afee3d0006ed310f22f09" + integrity sha512-c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + app-root-path@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.1.0.tgz#98bf6599327ecea199309866e8140368fd2e646a" @@ -2896,6 +2902,11 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + async-eventemitter@^0.2.2: version "0.2.4" resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" @@ -3877,6 +3888,11 @@ binary-extensions@^1.0.0: version "1.11.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" +binary-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" + integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + bindings@^1.2.1, bindings@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" @@ -4069,7 +4085,7 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" -braces@^2.3.0, braces@^2.3.1: +braces@^2.3.1, braces@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" dependencies: @@ -4084,6 +4100,13 @@ braces@^2.3.0, braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + brcast@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/brcast/-/brcast-3.0.1.tgz#6256a8349b20de9eed44257a9b24d71493cd48dd" @@ -4116,6 +4139,11 @@ browser-stdout@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.0.6: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" @@ -4699,7 +4727,8 @@ chokidar-cli@^1.2.0: chokidar@^1.0.1: version "1.7.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= dependencies: anymatch "^1.3.0" async-each "^1.0.0" @@ -4713,41 +4742,38 @@ chokidar@^1.0.1: fsevents "^1.0.0" chokidar@^2.0.0, chokidar@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" + version "2.1.6" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" + integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g== dependencies: anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" + async-each "^1.0.1" + braces "^2.3.2" glob-parent "^3.1.0" - inherits "^2.0.1" + inherits "^2.0.3" is-binary-path "^1.0.0" is-glob "^4.0.0" - normalize-path "^2.1.1" + normalize-path "^3.0.0" path-is-absolute "^1.0.0" - readdirp "^2.0.0" - upath "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" optionalDependencies: - fsevents "^1.1.2" + fsevents "^1.2.7" -chokidar@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" +chokidar@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.0.2.tgz#0d1cd6d04eb2df0327446188cd13736a3367d681" + integrity sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA== dependencies: - anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" - glob-parent "^3.1.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - lodash.debounce "^4.0.8" - normalize-path "^2.1.1" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - upath "^1.0.5" + anymatch "^3.0.1" + braces "^3.0.2" + glob-parent "^5.0.0" + is-binary-path "^2.1.0" + is-glob "^4.0.1" + normalize-path "^3.0.0" + readdirp "^3.1.1" optionalDependencies: - fsevents "^1.2.2" + fsevents "^2.0.6" chownr@^1.0.1: version "1.0.1" @@ -5876,6 +5902,13 @@ debug@3.1.0, debug@=3.1.0, debug@^3.1.0: dependencies: ms "2.0.0" +debug@3.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + debug@^4.0.1, debug@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" @@ -5899,7 +5932,7 @@ decamelize-keys@^1.0.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2: +decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -6208,7 +6241,7 @@ diff@3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" -diff@^3.1.0, diff@^3.2.0: +diff@3.5.0, diff@^3.1.0, diff@^3.2.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -7751,6 +7784,13 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + finalhandler@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" @@ -7791,6 +7831,12 @@ find-index@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" +find-up@3.0.0, find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + dependencies: + locate-path "^3.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -7804,12 +7850,6 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - dependencies: - locate-path "^3.0.0" - find-versions@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-2.0.0.tgz#2ad90d490f6828c1aa40292cf709ac3318210c3c" @@ -7865,6 +7905,13 @@ flat-cache@^1.2.1: graceful-fs "^4.1.2" write "^0.2.1" +flat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + dependencies: + is-buffer "~2.0.3" + flatiron@~0.4.2: version "0.4.3" resolved "https://registry.yarnpkg.com/flatiron/-/flatiron-0.4.3.tgz#248cf79a3da7d7dc379e2a11c92a2719cbb540f6" @@ -8094,29 +8141,27 @@ fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" -fsevents@^1.0.0, fsevents@^1.2.2, fsevents@^1.2.3: +fsevents@^1.0.0, fsevents@^1.2.3: version "1.2.4" resolved "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" dependencies: nan "^2.9.2" node-pre-gyp "^0.10.0" -fsevents@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" +fsevents@^1.2.7: + version "1.2.9" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" + integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.39" + nan "^2.12.1" + node-pre-gyp "^0.12.0" -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" +fsevents@^2.0.6: + version "2.0.7" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a" + integrity sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ== -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2, fstream@^1.0.8: +fstream@^1.0.0, fstream@^1.0.2, fstream@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" dependencies: @@ -8225,6 +8270,11 @@ get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + get-func-name@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" @@ -8659,6 +8709,11 @@ growl@1.10.3: version "1.10.3" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + growly@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -8896,7 +8951,7 @@ hastscript@^5.0.0: property-information "^5.0.1" space-separated-tokens "^1.0.0" -hawk@3.1.3, hawk@~3.1.3: +hawk@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" dependencies: @@ -8933,6 +8988,11 @@ he@1.1.1, he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + header-case@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d" @@ -9553,6 +9613,13 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" +is-binary-path@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + is-boolean-object@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93" @@ -9561,6 +9628,11 @@ is-buffer@^1.1.4, is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" +is-buffer@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" + integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== + is-builtin-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" @@ -9770,6 +9842,11 @@ is-number@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" @@ -10449,6 +10526,14 @@ js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" +js-yaml@3.13.1, js-yaml@^3.13.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + js-yaml@3.x, js-yaml@^3.4.2, js-yaml@^3.6.1, js-yaml@^3.7.0: version "3.11.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" @@ -10470,14 +10555,6 @@ js-yaml@^3.12.0, js-yaml@^3.9.0: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - js-yaml@~3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" @@ -11243,10 +11320,6 @@ lodash.clonedeep@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - lodash.deburr@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.deburr/-/lodash.deburr-3.2.0.tgz#6da8f54334a366a7cf4c4c76ef8d80aa1b365ed5" @@ -11450,18 +11523,18 @@ log-driver@^1.2.5: version "1.2.7" resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" +log-symbols@2.2.0, log-symbols@^2.1.0, log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + dependencies: + chalk "^2.0.1" + log-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" dependencies: chalk "^1.0.0" -log-symbols@^2.1.0, log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - dependencies: - chalk "^2.0.1" - log-update@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" @@ -11997,7 +12070,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -12138,6 +12211,35 @@ mocha@^4.1.0: mkdirp "0.5.1" supports-color "4.4.0" +mocha@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.2.0.tgz#f896b642843445d1bb8bca60eabd9206b8916e56" + integrity sha512-qwfFgY+7EKAAUAdv7VYMZQknI7YJSGesxHyhn6qD52DV8UcSZs5XwCifcZGMVIE4a5fbmhvbotxC0DLQ0oKohQ== + dependencies: + ansi-colors "3.2.3" + browser-stdout "1.3.1" + debug "3.2.6" + diff "3.5.0" + escape-string-regexp "1.0.5" + find-up "3.0.0" + glob "7.1.3" + growl "1.10.5" + he "1.2.0" + js-yaml "3.13.1" + log-symbols "2.2.0" + minimatch "3.0.4" + mkdirp "0.5.1" + ms "2.1.1" + node-environment-flags "1.0.5" + object.assign "4.1.0" + strip-json-comments "2.0.1" + supports-color "6.0.0" + which "1.3.1" + wide-align "1.1.3" + yargs "13.2.2" + yargs-parser "13.0.0" + yargs-unparser "1.5.0" + mock-fs@^4.1.0: version "4.4.2" resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.4.2.tgz#09dec5313f97095a450be6aa2ad8ab6738d63d6b" @@ -12177,7 +12279,7 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" -ms@^2.0.0, ms@^2.1.1: +ms@2.1.1, ms@^2.0.0, ms@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" @@ -12233,7 +12335,7 @@ mz@^2.4.0, mz@^2.6.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nan@2.10.0, nan@^2.0.8, nan@^2.2.1, nan@^2.3.0, nan@^2.3.3, nan@^2.6.2, nan@^2.9.2, nan@~2.10.0: +nan@2.10.0, nan@^2.0.8, nan@^2.2.1, nan@^2.3.3, nan@^2.6.2, nan@^2.9.2, nan@~2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" @@ -12241,6 +12343,11 @@ nan@^2.11.0: version "2.12.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552" +nan@^2.12.1: + version "2.14.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + nano-json-stream-parser@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" @@ -12357,6 +12464,14 @@ node-abi@^2.2.0: dependencies: semver "^5.4.1" +node-environment-flags@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.5.tgz#fa930275f5bf5dae188d6192b24b4c8bbac3d76a" + integrity sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ== + dependencies: + object.getownpropertydescriptors "^2.0.3" + semver "^5.7.0" + node-fetch-npm@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" @@ -12483,21 +12598,21 @@ node-pre-gyp@^0.10.0, node-pre-gyp@^0.10.3: semver "^5.3.0" tar "^4" -node-pre-gyp@^0.6.39: - version "0.6.39" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" +node-pre-gyp@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" + integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== dependencies: detect-libc "^1.0.2" - hawk "3.1.3" mkdirp "^0.5.1" + needle "^2.2.1" nopt "^4.0.1" + npm-packlist "^1.1.6" npmlog "^4.0.2" - rc "^1.1.7" - request "2.81.0" + rc "^1.2.7" rimraf "^2.6.1" semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" + tar "^4" nodemon@^1.11.0: version "1.17.3" @@ -12576,6 +12691,11 @@ normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" @@ -12874,7 +12994,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.0.4, object.assign@^4.1.0: +object.assign@4.1.0, object.assign@^4.0.4, object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" dependencies: @@ -12962,7 +13082,7 @@ on-headers@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" -once@1.x, once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.3.3, once@^1.4.0: +once@1.x, once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: @@ -13129,6 +13249,15 @@ os-locale@^3.0.0: lcid "^2.0.0" mem "^4.0.0" +os-locale@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + os-name@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" @@ -13558,6 +13687,11 @@ performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" +picomatch@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" + integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== + pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -14493,7 +14627,7 @@ rc-util@^4.0.4, rc-util@^4.4.0: prop-types "^15.5.10" shallowequal "^0.2.2" -rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: +rc@^1.0.1, rc@^1.1.6: version "1.2.6" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.6.tgz#eb18989c6d4f4f162c399f79ddd29f3835568092" dependencies: @@ -14915,7 +15049,7 @@ read@1, read@1.0.x, read@~1.0.1, read@~1.0.5: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" dependencies: @@ -14980,6 +15114,22 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.1.1.tgz#b158123ac343c8b0f31d65680269cc0fc1025db1" + integrity sha512-XXdSXZrQuvqoETj50+JAitxz1UPdt5dupjT6T5nVB+WvjMv2XKYj+s7hPeAVCXvmJrL36O4YYyWlIC3an2ePiQ== + dependencies: + picomatch "^2.0.4" + readline2@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/readline2/-/readline2-0.1.1.tgz#99443ba6e83b830ef3051bfd7dc241a82728d568" @@ -15424,6 +15574,11 @@ require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + require-package-name@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz#c11e97276b65b8e2923f75dabf5fb2ef0c3841b9" @@ -15536,7 +15691,7 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: +rimraf@2, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: @@ -16604,7 +16759,7 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" dependencies: @@ -16722,7 +16877,7 @@ strip-indent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" -strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: +strip-json-comments@2.0.1, strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -16793,6 +16948,13 @@ supports-color@4.4.0: dependencies: has-flag "^2.0.0" +supports-color@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" + integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== + dependencies: + has-flag "^3.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -16975,19 +17137,6 @@ tar-fs@^1.13.0: pump "^1.0.0" tar-stream "^1.1.2" -tar-pack@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" - dependencies: - debug "^2.2.0" - fstream "^1.0.10" - fstream-ignore "^1.0.5" - once "^1.3.3" - readable-stream "^2.1.4" - rimraf "^2.5.1" - tar "^2.2.1" - uid-number "^0.0.6" - tar-stream@^1.1.2, tar-stream@^1.5.2: version "1.5.5" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.5.tgz#5cad84779f45c83b1f2508d96b09d88c7218af55" @@ -17007,7 +17156,7 @@ tar.gz@^1.0.5: mout "^0.11.0" tar "^2.1.1" -tar@^2.0.0, tar@^2.1.1, tar@^2.2.1: +tar@^2.0.0, tar@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" dependencies: @@ -17283,6 +17432,13 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -17702,7 +17858,7 @@ uglifyjs-webpack-plugin@^2.0.1: webpack-sources "^1.1.0" worker-farm "^1.5.2" -uid-number@0.0.6, uid-number@^0.0.6: +uid-number@0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" @@ -17883,13 +18039,10 @@ unzip-response@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" -upath@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.4.tgz#ee2321ba0a786c50973db043a50b7bcba822361d" - -upath@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" +upath@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" + integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== update-notifier@^2.3.0, update-notifier@^2.5.0: version "2.5.0" @@ -18837,7 +18990,7 @@ which-pm-runs@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" -which@1, which@^1.2.12, which@^1.3.1: +which@1, which@1.3.1, which@^1.2.12, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -18850,6 +19003,13 @@ which@^1.1.1, which@^1.2.14, which@^1.2.9, which@^1.3.0: dependencies: isexe "^2.0.0" +wide-align@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + wide-align@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" @@ -19184,6 +19344,30 @@ yargs-parser@10.x, yargs-parser@^10.0.0, yargs-parser@^10.1.0: dependencies: camelcase "^4.1.0" +yargs-parser@13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.0.0.tgz#3fc44f3e76a8bdb1cc3602e860108602e5ccde8b" + integrity sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^13.0.0: + version "13.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" + integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" @@ -19209,6 +19393,15 @@ yargs-parser@^9.0.2: dependencies: camelcase "^4.1.0" +yargs-unparser@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.5.0.tgz#f2bb2a7e83cbc87bb95c8e572828a06c9add6e0d" + integrity sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw== + dependencies: + flat "^4.1.0" + lodash "^4.17.11" + yargs "^12.0.5" + yargs@11.1.0, yargs@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" @@ -19243,6 +19436,23 @@ yargs@12.0.2, yargs@^12.0.2: y18n "^3.2.1 || ^4.0.0" yargs-parser "^10.1.0" +yargs@13.2.2: + version "13.2.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.2.tgz#0c101f580ae95cea7f39d927e7770e3fdc97f993" + integrity sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA== + dependencies: + cliui "^4.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + os-locale "^3.1.0" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.0.0" + yargs@^10.0.3: version "10.1.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" @@ -19294,6 +19504,24 @@ yargs@^12.0.1: y18n "^3.2.1 || ^4.0.0" yargs-parser "^10.1.0" +yargs@^12.0.5: + version "12.0.5" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== + dependencies: + cliui "^4.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^11.1.1" + yargs@^3.7.2: version "3.32.0" resolved "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" From f3c5d192468d8090eaac81481b31ffa7870d1e86 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Fri, 26 Jul 2019 17:42:59 +0200 Subject: [PATCH 024/162] Update remaining handlebars of deps of deps --- yarn.lock | 95 +++---------------------------------------------------- 1 file changed, 4 insertions(+), 91 deletions(-) diff --git a/yarn.lock b/yarn.lock index 06aeb65993..d1ae3d24cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2594,14 +2594,6 @@ ajv@^6.5.3, ajv@^6.6.1: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -2931,7 +2923,7 @@ async@0.2.x, async@~0.2.9: version "0.2.10" resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" -async@1.x, async@^1.4.0, async@^1.4.2, async@^1.5.2: +async@1.x, async@^1.4.2, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -4517,10 +4509,6 @@ camelcase-keys@^4.0.0: map-obj "^2.0.0" quick-lru "^1.0.0" -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - camelcase@^2.0.0, camelcase@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -4573,13 +4561,6 @@ caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - chai-as-promised@^7.1.0: version "7.1.1" resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0" @@ -4920,14 +4901,6 @@ clipboard@^2.0.0: select "^1.1.2" tiny-emitter "^2.0.0" -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - cliui@^3.0.3, cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -5932,7 +5905,7 @@ decamelize-keys@^1.0.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -8787,17 +8760,7 @@ handle-thing@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" -handlebars@^4.0.1, handlebars@^4.0.11, handlebars@^4.0.2, handlebars@^4.0.3, handlebars@^4.0.6: - version "4.0.11" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc" - dependencies: - async "^1.4.0" - optimist "^0.6.1" - source-map "^0.4.4" - optionalDependencies: - uglify-js "^2.6" - -handlebars@^4.1.0, handlebars@^4.1.2: +handlebars@^4.0.1, handlebars@^4.0.11, handlebars@^4.0.2, handlebars@^4.0.3, handlebars@^4.0.6, handlebars@^4.1.0, handlebars@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== @@ -10874,10 +10837,6 @@ latest-version@^3.0.0: dependencies: package-json "^4.0.0" -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - lazy@~1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/lazy/-/lazy-1.0.11.tgz#daa068206282542c088288e975c297c1ae77b690" @@ -11557,10 +11516,6 @@ lolex@^2.2.0, lolex@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.3.2.tgz#85f9450425103bf9e7a60668ea25dc43274ca807" -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - looper@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/looper/-/looper-2.0.0.tgz#66cd0c774af3d4fedac53794f742db56da8f09ec" @@ -15685,12 +15640,6 @@ revalidator@0.1.x: version "0.1.8" resolved "https://registry.yarnpkg.com/revalidator/-/revalidator-0.1.8.tgz#fece61bfa0c1b52a206bd6b18198184bdd523a3b" -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - rimraf@2, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" @@ -16490,13 +16439,7 @@ source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" -source-map@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: +source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -17811,15 +17754,6 @@ uglify-js@3.4.x, uglify-js@^3.0.0: commander "~2.17.1" source-map "~0.6.1" -uglify-js@^2.6: - version "2.8.29" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - uglify-js@^3.1.4: version "3.6.0" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" @@ -17828,10 +17762,6 @@ uglify-js@^3.1.4: commander "~2.20.0" source-map "~0.6.1" -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - uglifyjs-webpack-plugin@^1.2.4: version "1.3.0" resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz#75f548160858163a08643e086d5fefe18a5d67de" @@ -19022,10 +18952,6 @@ widest-line@^2.0.0: dependencies: string-width "^2.1.1" -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - window-size@^0.1.4: version "0.1.4" resolved "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" @@ -19076,10 +19002,6 @@ winston@2.1.x: pkginfo "0.3.x" stack-trace "0.0.x" -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - "wordwrap@>=0.0.1 <0.1.0", wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" @@ -19571,15 +19493,6 @@ yargs@^8.0.2: y18n "^3.2.1" yargs-parser "^7.0.0" -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - yauzl@^2.4.2: version "2.9.1" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.9.1.tgz#a81981ea70a57946133883f029c5821a89359a7f" From 3a3658708a2f39ae619d9c6e9ecc446cde7799f9 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Fri, 26 Jul 2019 18:05:57 +0200 Subject: [PATCH 025/162] Get all Mocha's on same version and add typings to all packages --- contracts/asset-proxy/package.json | 1 + contracts/coordinator/package.json | 1 + contracts/dev-utils/package.json | 1 + contracts/erc1155/package.json | 1 + contracts/erc20/package.json | 1 + contracts/erc721/package.json | 1 + contracts/exchange-forwarder/package.json | 1 + contracts/exchange-libs/package.json | 1 + contracts/exchange/package.json | 1 + contracts/extensions/package.json | 1 + contracts/multisig/package.json | 1 + contracts/test-utils/package.json | 1 + contracts/utils/package.json | 1 + packages/0x.js/package.json | 4 +- packages/abi-gen/package.json | 1 + packages/assert/package.json | 2 +- packages/asset-buyer/package.json | 2 +- packages/asset-swapper/package.json | 2 +- packages/base-contract/package.json | 1 + packages/connect/package.json | 2 +- packages/contract-artifacts/package.json | 1 + packages/contract-wrappers/package.json | 2 +- packages/dev-utils/package.json | 2 +- packages/json-schemas/package.json | 2 +- packages/order-utils/package.json | 1 + packages/order-watcher/package.json | 2 +- packages/sol-compiler/package.json | 1 + packages/sol-doc/package.json | 1 + packages/sol-tracing-utils/package.json | 2 +- packages/sra-spec/package.json | 2 +- packages/subproviders/package.json | 2 +- packages/utils/package.json | 2 +- packages/web3-wrapper/package.json | 1 + yarn.lock | 72 +++++------------------ 34 files changed, 50 insertions(+), 70 deletions(-) diff --git a/contracts/asset-proxy/package.json b/contracts/asset-proxy/package.json index 2dce4e7364..e42ca169c5 100644 --- a/contracts/asset-proxy/package.json +++ b/contracts/asset-proxy/package.json @@ -55,6 +55,7 @@ "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/contracts/coordinator/package.json b/contracts/coordinator/package.json index 246ceb0b7f..d1fcf61fd7 100644 --- a/contracts/coordinator/package.json +++ b/contracts/coordinator/package.json @@ -55,6 +55,7 @@ "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/contracts/dev-utils/package.json b/contracts/dev-utils/package.json index 7e1a3b4dce..e203775808 100644 --- a/contracts/dev-utils/package.json +++ b/contracts/dev-utils/package.json @@ -56,6 +56,7 @@ "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/contracts/erc1155/package.json b/contracts/erc1155/package.json index f3306cf31e..409ff7e302 100644 --- a/contracts/erc1155/package.json +++ b/contracts/erc1155/package.json @@ -54,6 +54,7 @@ "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/contracts/erc20/package.json b/contracts/erc20/package.json index d393a45e03..071e2f62c2 100644 --- a/contracts/erc20/package.json +++ b/contracts/erc20/package.json @@ -55,6 +55,7 @@ "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/contracts/erc721/package.json b/contracts/erc721/package.json index 006dd30c3e..80dd14df24 100644 --- a/contracts/erc721/package.json +++ b/contracts/erc721/package.json @@ -55,6 +55,7 @@ "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/contracts/exchange-forwarder/package.json b/contracts/exchange-forwarder/package.json index ccfc58dda3..db261a62fc 100644 --- a/contracts/exchange-forwarder/package.json +++ b/contracts/exchange-forwarder/package.json @@ -55,6 +55,7 @@ "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/contracts/exchange-libs/package.json b/contracts/exchange-libs/package.json index 3f9349c823..aaab9ddb32 100644 --- a/contracts/exchange-libs/package.json +++ b/contracts/exchange-libs/package.json @@ -55,6 +55,7 @@ "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/contracts/exchange/package.json b/contracts/exchange/package.json index ba300f9760..c064e8e0b8 100644 --- a/contracts/exchange/package.json +++ b/contracts/exchange/package.json @@ -55,6 +55,7 @@ "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/contracts/extensions/package.json b/contracts/extensions/package.json index e4e7d6cd33..22a03f547f 100644 --- a/contracts/extensions/package.json +++ b/contracts/extensions/package.json @@ -56,6 +56,7 @@ "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/contracts/multisig/package.json b/contracts/multisig/package.json index 8dc46932dc..7dad00796b 100644 --- a/contracts/multisig/package.json +++ b/contracts/multisig/package.json @@ -55,6 +55,7 @@ "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json index 2117082f46..51e0c6d05b 100644 --- a/contracts/test-utils/package.json +++ b/contracts/test-utils/package.json @@ -34,6 +34,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/test-utils/README.md", "devDependencies": { + "@types/mocha": "^5.2.7", "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", diff --git a/contracts/utils/package.json b/contracts/utils/package.json index 70d4cc1523..331a0c14e9 100644 --- a/contracts/utils/package.json +++ b/contracts/utils/package.json @@ -56,6 +56,7 @@ "@types/bn.js": "^4.11.0", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json index 17f4bec0a0..6edfc4400d 100644 --- a/packages/0x.js/package.json +++ b/packages/0x.js/package.json @@ -49,7 +49,7 @@ "@0x/migrations": "^4.1.10", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "@types/node": "*", "@types/sinon": "^2.2.2", "awesome-typescript-loader": "^5.2.1", @@ -59,7 +59,7 @@ "copyfiles": "^2.0.0", "dirty-chai": "^2.0.1", "make-promises-safe": "^1.1.0", - "mocha": "^4.1.0", + "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "nyc": "^11.0.1", "opn-cli": "^3.1.0", diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json index f28b96769b..3bceb6eeb9 100644 --- a/packages/abi-gen/package.json +++ b/packages/abi-gen/package.json @@ -84,6 +84,7 @@ "@types/node": "*", "@types/tmp": "^0.0.33", "@types/yargs": "^11.0.0", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/packages/assert/package.json b/packages/assert/package.json index 1caa6887b0..7135f64802 100644 --- a/packages/assert/package.json +++ b/packages/assert/package.json @@ -32,7 +32,7 @@ "devDependencies": { "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "@types/valid-url": "^1.0.2", "chai": "^4.0.1", "dirty-chai": "^2.0.1", diff --git a/packages/asset-buyer/package.json b/packages/asset-buyer/package.json index 6be38725d5..d1e0629237 100644 --- a/packages/asset-buyer/package.json +++ b/packages/asset-buyer/package.json @@ -53,7 +53,7 @@ "devDependencies": { "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", diff --git a/packages/asset-swapper/package.json b/packages/asset-swapper/package.json index c8f532e35a..3ec963c4e9 100644 --- a/packages/asset-swapper/package.json +++ b/packages/asset-swapper/package.json @@ -57,7 +57,7 @@ "devDependencies": { "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", diff --git a/packages/base-contract/package.json b/packages/base-contract/package.json index 44686af856..4b1c223c6c 100644 --- a/packages/base-contract/package.json +++ b/packages/base-contract/package.json @@ -32,6 +32,7 @@ "devDependencies": { "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "make-promises-safe": "^1.1.0", "mocha": "^6.2.0", diff --git a/packages/connect/package.json b/packages/connect/package.json index dd2f823cbb..8d83bf7ff8 100644 --- a/packages/connect/package.json +++ b/packages/connect/package.json @@ -61,7 +61,7 @@ "@0x/tslint-config": "^3.0.1", "@types/fetch-mock": "^6.0.3", "@types/lodash": "4.14.104", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "@types/query-string": "^5.1.0", "@types/sinon": "^2.2.2", "@types/uuid": "^3.4.3", diff --git a/packages/contract-artifacts/package.json b/packages/contract-artifacts/package.json index ccba30792e..200c836727 100644 --- a/packages/contract-artifacts/package.json +++ b/packages/contract-artifacts/package.json @@ -31,6 +31,7 @@ "homepage": "https://github.com/0xProject/0x-monorepo/packages/contract-artifacts/README.md", "devDependencies": { "@0x/utils": "^4.4.1", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "lodash": "^4.17.11", "mocha": "^6.2.0", diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index eac6e1ae70..d84bbe92eb 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -46,7 +46,7 @@ "@0x/subproviders": "^4.1.2", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "@types/nock": "^10.0.1", "@types/node": "*", "@types/sinon": "^2.2.2", diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index 5377dc0987..36cab54e11 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -32,7 +32,7 @@ "devDependencies": { "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "make-promises-safe": "^1.1.0", "mocha": "^6.2.0", "npm-run-all": "^4.1.2", diff --git a/packages/json-schemas/package.json b/packages/json-schemas/package.json index eb154a3275..d1b645f750 100644 --- a/packages/json-schemas/package.json +++ b/packages/json-schemas/package.json @@ -50,7 +50,7 @@ "@0x/utils": "^4.4.1", "@types/lodash.foreach": "^4.5.3", "@types/lodash.values": "^4.3.3", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "dirty-chai": "^2.0.1", "lodash.foreach": "^4.5.0", diff --git a/packages/order-utils/package.json b/packages/order-utils/package.json index 3c952cc0a5..1583627b6b 100644 --- a/packages/order-utils/package.json +++ b/packages/order-utils/package.json @@ -41,6 +41,7 @@ "@types/bn.js": "^4.11.0", "@types/lodash": "4.14.104", "@types/web3-provider-engine": "^14.0.0", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/packages/order-watcher/package.json b/packages/order-watcher/package.json index 1d9a8ffb4b..b1901b41d6 100644 --- a/packages/order-watcher/package.json +++ b/packages/order-watcher/package.json @@ -40,7 +40,7 @@ "@0x/tslint-config": "^3.0.1", "@types/bintrees": "^1.0.2", "@types/lodash": "4.14.104", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "@types/node": "*", "@types/sinon": "^2.2.2", "chai": "^4.0.1", diff --git a/packages/sol-compiler/package.json b/packages/sol-compiler/package.json index 563de97bed..5eb81e9f80 100644 --- a/packages/sol-compiler/package.json +++ b/packages/sol-compiler/package.json @@ -50,6 +50,7 @@ "@types/require-from-string": "^1.2.0", "@types/semver": "5.5.0", "@types/web3-provider-engine": "^14.0.0", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/packages/sol-doc/package.json b/packages/sol-doc/package.json index 3ca41b0508..e669391559 100644 --- a/packages/sol-doc/package.json +++ b/packages/sol-doc/package.json @@ -36,6 +36,7 @@ }, "devDependencies": { "@0x/tslint-config": "^3.0.1", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/packages/sol-tracing-utils/package.json b/packages/sol-tracing-utils/package.json index 4779952fb1..ac4497d94f 100644 --- a/packages/sol-tracing-utils/package.json +++ b/packages/sol-tracing-utils/package.json @@ -70,7 +70,7 @@ "@types/istanbul": "^0.4.30", "@types/loglevel": "^1.5.3", "@types/mkdirp": "^0.5.2", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "@types/node": "*", "@types/rimraf": "^2.0.2", "chai": "^4.0.1", diff --git a/packages/sra-spec/package.json b/packages/sra-spec/package.json index 1a7387e637..86231bf050 100644 --- a/packages/sra-spec/package.json +++ b/packages/sra-spec/package.json @@ -41,7 +41,7 @@ }, "devDependencies": { "@0x/tslint-config": "^3.0.1", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "@types/node": "*", "chai": "^4.0.1", "chokidar-cli": "^1.2.0", diff --git a/packages/subproviders/package.json b/packages/subproviders/package.json index 0e5478e216..eceb633c62 100644 --- a/packages/subproviders/package.json +++ b/packages/subproviders/package.json @@ -60,7 +60,7 @@ "@types/ethereumjs-tx": "^1.0.0", "@types/hdkey": "^0.7.0", "@types/lodash": "4.14.104", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "@types/node": "*", "@types/sinon": "^2.2.2", "chai": "^4.0.1", diff --git a/packages/utils/package.json b/packages/utils/package.json index 4c36254508..c0f15a55c8 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -32,7 +32,7 @@ "@0x/tslint-config": "^3.0.1", "@types/detect-node": "2.0.0", "@types/lodash": "4.14.104", - "@types/mocha": "^2.2.42", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/packages/web3-wrapper/package.json b/packages/web3-wrapper/package.json index be10cb1435..b2e80003bb 100644 --- a/packages/web3-wrapper/package.json +++ b/packages/web3-wrapper/package.json @@ -39,6 +39,7 @@ "devDependencies": { "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", + "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index d1ae3d24cc..a5f471f336 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1993,9 +1993,10 @@ dependencies: "@types/node" "*" -"@types/mocha@^2.2.42": - version "2.2.48" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.48.tgz#3523b126a0b049482e1c3c11877460f76622ffab" +"@types/mocha@^5.2.7": + version "5.2.7" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-5.2.7.tgz#315d570ccb56c53452ff8638738df60726d5b6ea" + integrity sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ== "@types/nock@^10.0.1": version "10.0.1" @@ -4127,10 +4128,6 @@ browser-resolve@^1.11.3: dependencies: resolve "1.1.7" -browser-stdout@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" - browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" @@ -5067,10 +5064,6 @@ command-exists@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.8.tgz#715acefdd1223b9c9b37110a149c6392c2852291" -commander@2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" - commander@2.17.x, commander@^2.7.1, commander@~2.17.1: version "2.17.1" resolved "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" @@ -6210,10 +6203,6 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" -diff@3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" - diff@3.5.0, diff@^3.1.0, diff@^3.2.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -8453,17 +8442,6 @@ glob2base@^0.0.12: dependencies: find-index "^0.1.1" -glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@~7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@7.1.3, glob@^7.1.3: version "7.1.3" resolved "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" @@ -8494,6 +8472,17 @@ glob@^5.0.15: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@~7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" @@ -8678,10 +8667,6 @@ graceful-fs@4.1.15, graceful-fs@^3.0.0, graceful-fs@^4.0.0, graceful-fs@^4.1.10, version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" -growl@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" - growl@1.10.5: version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" @@ -8810,10 +8795,6 @@ has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -8947,7 +8928,7 @@ hdkey@^1.0.0: safe-buffer "^5.1.1" secp256k1 "^3.0.1" -he@1.1.1, he@1.1.x: +he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -12151,21 +12132,6 @@ mobx@^4.2.0: version "4.3.1" resolved "https://registry.npmjs.org/mobx/-/mobx-4.3.1.tgz#334e5aab4916b1d43f0faf3605a64b1b4b3ccb8d" -mocha@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-4.1.0.tgz#7d86cfbcf35cb829e2754c32e17355ec05338794" - dependencies: - browser-stdout "1.3.0" - commander "2.11.0" - debug "3.1.0" - diff "3.3.1" - escape-string-regexp "1.0.5" - glob "7.1.2" - growl "1.10.3" - he "1.1.1" - mkdirp "0.5.1" - supports-color "4.4.0" - mocha@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.2.0.tgz#f896b642843445d1bb8bca60eabd9206b8916e56" @@ -16885,12 +16851,6 @@ stylis@^3.5.0: version "3.5.0" resolved "https://registry.npmjs.org/stylis/-/stylis-3.5.0.tgz#016fa239663d77f868fef5b67cf201c4b7c701e1" -supports-color@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" - dependencies: - has-flag "^2.0.0" - supports-color@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" From 5aeb626045b023c305e580f2dac4f43a1d4b8a74 Mon Sep 17 00:00:00 2001 From: "F. Eugene Aumson" Date: Fri, 26 Jul 2019 13:28:32 -0400 Subject: [PATCH 026/162] abi-gen: skip run_mocha on OSX (#2002) --- packages/abi-gen/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json index 3bceb6eeb9..688f87f718 100644 --- a/packages/abi-gen/package.json +++ b/packages/abi-gen/package.json @@ -16,7 +16,7 @@ "build:ci": "yarn build", "test": "yarn run_mocha && yarn test_cli", "test:circleci": "yarn test:coverage && yarn test_cli", - "run_mocha": "mocha --require source-map-support/register --require make-promises-safe lib/test/*_test.js --timeout 100000 --bail --exit", + "run_mocha": "(uname -s | grep -q Darwin && echo 'HACK! skipping mocha run due to https://github.com/0xProject/0x-monorepo/issues/2000') || mocha --require source-map-support/register --require make-promises-safe lib/test/*_test.js --timeout 100000 --bail --exit", "test:coverage": "nyc npm run test --all && yarn coverage:report:lcov", "coverage:report:lcov": "nyc report --reporter=text-lcov > coverage/lcov.info", "test_cli": "yarn test_cli:run_mocha && yarn diff_contract_wrappers", From 46384ce80dc006b2b74628fec092efd566d6e060 Mon Sep 17 00:00:00 2001 From: Xianny <8582774+xianny@users.noreply.github.com> Date: Fri, 26 Jul 2019 16:54:31 -0700 Subject: [PATCH 027/162] Allow generated wrappers to subscribe/unsubscribe to events (#1970) * Define SubscriptionManager and instantiate in generated wrappers * expose subscribe/unsubscribe in generated wrappers * update changelogs * use SubscriptionManager in `@0x/contract-wrappers` --- contracts/asset-proxy/test/erc1155_proxy.ts | 4 +- contracts/asset-proxy/test/proxies.ts | 3 +- contracts/exchange/test/core.ts | 3 +- .../test/utils/asset_proxy_owner_wrapper.ts | 11 +- .../multisig/test/utils/multi_sig_wrapper.ts | 9 +- .../abi-gen-templates/contract.handlebars | 86 +++++- packages/abi-gen-wrappers/CHANGELOG.json | 9 + .../generated-wrappers/asset_proxy_owner.ts | 83 +++++- .../coordinator_registry.ts | 83 +++++- .../generated-wrappers/dummy_erc20_token.ts | 83 +++++- .../generated-wrappers/dummy_erc721_token.ts | 83 +++++- .../src/generated-wrappers/erc20_proxy.ts | 83 +++++- .../src/generated-wrappers/erc20_token.ts | 83 +++++- .../src/generated-wrappers/erc721_proxy.ts | 83 +++++- .../src/generated-wrappers/erc721_token.ts | 83 +++++- .../src/generated-wrappers/exchange.ts | 83 +++++- .../generated-wrappers/multi_asset_proxy.ts | 83 +++++- .../src/generated-wrappers/weth9.ts | 83 +++++- .../src/generated-wrappers/zrx_token.ts | 83 +++++- packages/abi-gen/package.json | 1 + .../python/abi_gen_dummy/__init__.py | 48 +++- .../typescript/abi_gen_dummy.ts | 223 ++++++++++++++- .../fixtures/artifacts/AbiGenDummy.json | 47 +++- .../fixtures/contracts/AbiGenDummy.sol | 6 + .../test/abi_gen_dummy_test.ts | 33 ++- packages/base-contract/CHANGELOG.json | 9 + packages/base-contract/package.json | 6 +- packages/base-contract/src/index.ts | 4 + .../src/subscription_manager.ts} | 57 ++-- packages/base-contract/src/types.ts | 38 +++ .../base-contract/src/utils/filter_utils.ts | 87 ++++++ packages/contract-wrappers/CHANGELOG.json | 9 + packages/contract-wrappers/package.json | 1 + .../src/contract_wrappers.ts | 21 +- .../contract_wrappers/coordinator_wrapper.ts | 7 +- .../dutch_auction_wrapper.ts | 36 +-- .../contract_wrappers/erc20_proxy_wrapper.ts | 35 +-- .../contract_wrappers/erc20_token_wrapper.ts | 32 ++- .../contract_wrappers/erc721_proxy_wrapper.ts | 35 +-- .../contract_wrappers/erc721_token_wrapper.ts | 32 ++- .../contract_wrappers/ether_token_wrapper.ts | 32 ++- .../src/contract_wrappers/exchange_wrapper.ts | 256 +++++++++--------- .../contract_wrappers/forwarder_wrapper.ts | 38 +-- .../order_validator_wrapper.ts | 47 ++-- yarn.lock | 216 +-------------- 45 files changed, 1865 insertions(+), 612 deletions(-) rename packages/{contract-wrappers/src/contract_wrappers/contract_wrapper.ts => base-contract/src/subscription_manager.ts} (82%) create mode 100644 packages/base-contract/src/types.ts create mode 100644 packages/base-contract/src/utils/filter_utils.ts diff --git a/contracts/asset-proxy/test/erc1155_proxy.ts b/contracts/asset-proxy/test/erc1155_proxy.ts index fef6e7074f..5048af635c 100644 --- a/contracts/asset-proxy/test/erc1155_proxy.ts +++ b/contracts/asset-proxy/test/erc1155_proxy.ts @@ -23,7 +23,7 @@ import { LogWithDecodedArgs } from 'ethereum-types'; import * as ethUtil from 'ethereumjs-util'; import * as _ from 'lodash'; -import { ERC1155ProxyWrapper, ERC721ProxyContract } from '../src'; +import { ERC1155ProxyContract, ERC1155ProxyWrapper } from '../src'; chaiSetup.configure(); const expect = chai.expect; @@ -51,7 +51,7 @@ describe('ERC1155Proxy', () => { let receiver: string; let receiverContract: string; // contracts & wrappers - let erc1155Proxy: ERC721ProxyContract; + let erc1155Proxy: ERC1155ProxyContract; let erc1155Receiver: DummyERC1155ReceiverContract; let erc1155ProxyWrapper: ERC1155ProxyWrapper; let erc1155Contract: ERC1155MintableContract; diff --git a/contracts/asset-proxy/test/proxies.ts b/contracts/asset-proxy/test/proxies.ts index ffca38a77f..f6c21e7699 100644 --- a/contracts/asset-proxy/test/proxies.ts +++ b/contracts/asset-proxy/test/proxies.ts @@ -31,6 +31,7 @@ import * as _ from 'lodash'; import { artifacts, + ERC1155ProxyContract, ERC1155ProxyWrapper, ERC20ProxyContract, ERC20Wrapper, @@ -71,7 +72,7 @@ describe('Asset Transfer Proxies', () => { let erc721AFromTokenId: BigNumber; let erc721BFromTokenId: BigNumber; - let erc1155Proxy: ERC721ProxyContract; + let erc1155Proxy: ERC1155ProxyContract; let erc1155ProxyWrapper: ERC1155ProxyWrapper; let erc1155Contract: ERC1155MintableContract; let erc1155Contract2: ERC1155MintableContract; diff --git a/contracts/exchange/test/core.ts b/contracts/exchange/test/core.ts index 79b9d06185..ab77c8eb54 100644 --- a/contracts/exchange/test/core.ts +++ b/contracts/exchange/test/core.ts @@ -1,5 +1,6 @@ import { artifacts as proxyArtifacts, + ERC1155ProxyContract, ERC1155ProxyWrapper, ERC20ProxyContract, ERC20Wrapper, @@ -69,7 +70,7 @@ describe('Exchange core', () => { let exchange: ExchangeContract; let erc20Proxy: ERC20ProxyContract; let erc721Proxy: ERC721ProxyContract; - let erc1155Proxy: ERC721ProxyContract; + let erc1155Proxy: ERC1155ProxyContract; let multiAssetProxy: MultiAssetProxyContract; let staticCallProxy: StaticCallProxyContract; let staticCallTarget: TestStaticCallTargetContract; diff --git a/contracts/multisig/test/utils/asset_proxy_owner_wrapper.ts b/contracts/multisig/test/utils/asset_proxy_owner_wrapper.ts index afb6cb33ce..fdc3862450 100644 --- a/contracts/multisig/test/utils/asset_proxy_owner_wrapper.ts +++ b/contracts/multisig/test/utils/asset_proxy_owner_wrapper.ts @@ -4,14 +4,17 @@ import { BigNumber } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { TransactionReceiptWithDecodedLogs } from 'ethereum-types'; -import { AssetProxyOwnerContract } from '../../generated-wrappers/asset_proxy_owner'; +import { AssetProxyOwnerContract, TestAssetProxyOwnerContract } from '../../src'; import { artifacts } from '../../src/artifacts'; export class AssetProxyOwnerWrapper { - private readonly _assetProxyOwner: AssetProxyOwnerContract; + private readonly _assetProxyOwner: AssetProxyOwnerContract | TestAssetProxyOwnerContract; private readonly _web3Wrapper: Web3Wrapper; private readonly _logDecoder: LogDecoder; - constructor(assetproxyOwnerContract: AssetProxyOwnerContract, provider: Web3ProviderEngine) { + constructor( + assetproxyOwnerContract: AssetProxyOwnerContract | TestAssetProxyOwnerContract, + provider: Web3ProviderEngine, + ) { this._assetProxyOwner = assetproxyOwnerContract; this._web3Wrapper = new Web3Wrapper(provider); this._logDecoder = new LogDecoder(this._web3Wrapper, { ...artifacts, ...proxyArtifacts }); @@ -57,7 +60,7 @@ export class AssetProxyOwnerWrapper { ): Promise { // tslint:disable-next-line:no-unnecessary-type-assertion const txHash = await (this - ._assetProxyOwner as AssetProxyOwnerContract).executeRemoveAuthorizedAddressAtIndex.sendTransactionAsync( + ._assetProxyOwner as TestAssetProxyOwnerContract).executeRemoveAuthorizedAddressAtIndex.sendTransactionAsync( txId, { from, diff --git a/contracts/multisig/test/utils/multi_sig_wrapper.ts b/contracts/multisig/test/utils/multi_sig_wrapper.ts index 9a405d0671..11f2ce51eb 100644 --- a/contracts/multisig/test/utils/multi_sig_wrapper.ts +++ b/contracts/multisig/test/utils/multi_sig_wrapper.ts @@ -3,14 +3,17 @@ import { BigNumber } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { TransactionReceiptWithDecodedLogs } from 'ethereum-types'; -import { MultiSigWalletContract } from '../../generated-wrappers/multi_sig_wallet'; +import { MultiSigWalletContract, MultiSigWalletWithTimeLockContract } from '../../src'; import { artifacts } from '../../src/artifacts'; export class MultiSigWrapper { - private readonly _multiSig: MultiSigWalletContract; + private readonly _multiSig: MultiSigWalletContract | MultiSigWalletWithTimeLockContract; private readonly _web3Wrapper: Web3Wrapper; private readonly _logDecoder: LogDecoder; - constructor(multiSigContract: MultiSigWalletContract, provider: Web3ProviderEngine) { + constructor( + multiSigContract: MultiSigWalletContract | MultiSigWalletWithTimeLockContract, + provider: Web3ProviderEngine, + ) { this._multiSig = multiSigContract; this._web3Wrapper = new Web3Wrapper(provider); this._logDecoder = new LogDecoder(this._web3Wrapper, artifacts); diff --git a/packages/abi-gen-templates/contract.handlebars b/packages/abi-gen-templates/contract.handlebars index 67d1b6e198..78c5e47d89 100644 --- a/packages/abi-gen-templates/contract.handlebars +++ b/packages/abi-gen-templates/contract.handlebars @@ -1,7 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract{{#if events}}, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager{{/if}},PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -9,7 +13,8 @@ import { CallData, ContractAbi, ContractArtifact, - DecodedLogArgs, + DecodedLogArgs,{{#if events}} + LogWithDecodedArgs,{{/if}} MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -53,7 +58,8 @@ export class {{contractName}}Contract extends BaseContract { {{> tx contractName=../contractName}} {{/this.constant}} {{/each}} - public static async deployFrom0xArtifactAsync( +{{#if events}}private readonly _subscriptionManager: SubscriptionManager<{{contractName}}EventArgs, {{contractName}}Events>; +{{/if}}public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, @@ -138,10 +144,82 @@ export class {{contractName}}Contract extends BaseContract { {{/each}} ] as ContractAbi; return abi; + }{{#if events}} + /** + * Subscribe to an event type emitted by the {{contractName}} contract. + * @param eventName The {{contractName}} contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: {{contractName}}Events, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, {{contractName}}Events); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + {{contractName}}Contract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The {{contractName}} contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: {{contractName}}Events, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, {{contractName}}Events); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + {{contractName}}Contract.ABI(), + ); + return logs; + }{{/if}} constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('{{contractName}}', {{contractName}}Contract.ABI(), address, supportedProvider, txDefaults); - classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']);{{#if events}} + this._subscriptionManager = new SubscriptionManager<{{contractName}}EventArgs, {{contractName}}Events>( + {{contractName}}Contract.ABI(), + this._web3Wrapper, + );{{/if}} } } diff --git a/packages/abi-gen-wrappers/CHANGELOG.json b/packages/abi-gen-wrappers/CHANGELOG.json index b58bfaf9dc..efe4f57227 100644 --- a/packages/abi-gen-wrappers/CHANGELOG.json +++ b/packages/abi-gen-wrappers/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "5.1.0", + "changes": [ + { + "note": "Add subscribe/unsubscribe methods for events", + "pr": 1970 + } + ] + }, { "timestamp": 1563957393, "version": "5.0.3", diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts index dd2689fa7b..45f96008b2 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -2083,6 +2091,7 @@ export class AssetProxyOwnerContract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -2861,9 +2870,81 @@ export class AssetProxyOwnerContract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the AssetProxyOwner contract. + * @param eventName The AssetProxyOwner contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: AssetProxyOwnerEvents, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, AssetProxyOwnerEvents); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + AssetProxyOwnerContract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The AssetProxyOwner contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: AssetProxyOwnerEvents, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, AssetProxyOwnerEvents); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + AssetProxyOwnerContract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('AssetProxyOwner', AssetProxyOwnerContract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + AssetProxyOwnerContract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts index 4502db105a..427ea64aed 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -192,6 +200,7 @@ export class CoordinatorRegistryContract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -313,9 +322,81 @@ export class CoordinatorRegistryContract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the CoordinatorRegistry contract. + * @param eventName The CoordinatorRegistry contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: CoordinatorRegistryEvents, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, CoordinatorRegistryEvents); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + CoordinatorRegistryContract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The CoordinatorRegistry contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: CoordinatorRegistryEvents, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, CoordinatorRegistryEvents); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + CoordinatorRegistryContract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('CoordinatorRegistry', CoordinatorRegistryContract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + CoordinatorRegistryContract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts index 58c465ea81..7d32562817 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -1102,6 +1110,7 @@ export class DummyERC20TokenContract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -1497,9 +1506,81 @@ export class DummyERC20TokenContract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the DummyERC20Token contract. + * @param eventName The DummyERC20Token contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: DummyERC20TokenEvents, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, DummyERC20TokenEvents); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + DummyERC20TokenContract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The DummyERC20Token contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: DummyERC20TokenEvents, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, DummyERC20TokenEvents); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + DummyERC20TokenContract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('DummyERC20Token', DummyERC20TokenContract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + DummyERC20TokenContract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts index 3852687fc9..ad2c8a15b5 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -1432,6 +1440,7 @@ export class DummyERC721TokenContract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -1866,9 +1875,81 @@ export class DummyERC721TokenContract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the DummyERC721Token contract. + * @param eventName The DummyERC721Token contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: DummyERC721TokenEvents, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, DummyERC721TokenEvents); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + DummyERC721TokenContract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The DummyERC721Token contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: DummyERC721TokenEvents, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, DummyERC721TokenEvents); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + DummyERC721TokenContract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('DummyERC721Token', DummyERC721TokenContract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + DummyERC721TokenContract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts index cf54c78d8b..e9dbd86a3a 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -691,6 +699,7 @@ export class ERC20ProxyContract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -933,9 +942,81 @@ export class ERC20ProxyContract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the ERC20Proxy contract. + * @param eventName The ERC20Proxy contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: ERC20ProxyEvents, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, ERC20ProxyEvents); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + ERC20ProxyContract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The ERC20Proxy contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: ERC20ProxyEvents, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, ERC20ProxyEvents); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + ERC20ProxyContract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('ERC20Proxy', ERC20ProxyContract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + ERC20ProxyContract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts index 8f0812c7f7..d8c303fef3 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -579,6 +587,7 @@ export class ERC20TokenContract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -813,9 +822,81 @@ export class ERC20TokenContract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the ERC20Token contract. + * @param eventName The ERC20Token contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: ERC20TokenEvents, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, ERC20TokenEvents); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + ERC20TokenContract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The ERC20Token contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: ERC20TokenEvents, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, ERC20TokenEvents); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + ERC20TokenContract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('ERC20Token', ERC20TokenContract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + ERC20TokenContract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts index c8664c3b1a..d9f18a654e 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -691,6 +699,7 @@ export class ERC721ProxyContract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -933,9 +942,81 @@ export class ERC721ProxyContract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the ERC721Proxy contract. + * @param eventName The ERC721Proxy contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: ERC721ProxyEvents, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, ERC721ProxyEvents); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + ERC721ProxyContract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The ERC721Proxy contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: ERC721ProxyEvents, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, ERC721ProxyEvents); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + ERC721ProxyContract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('ERC721Proxy', ERC721ProxyContract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + ERC721ProxyContract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts index 3a271860d5..00f849aca6 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -972,6 +980,7 @@ export class ERC721TokenContract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -1286,9 +1295,81 @@ export class ERC721TokenContract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the ERC721Token contract. + * @param eventName The ERC721Token contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: ERC721TokenEvents, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, ERC721TokenEvents); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + ERC721TokenContract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The ERC721Token contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: ERC721TokenEvents, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, ERC721TokenEvents); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + ERC721TokenContract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('ERC721Token', ERC721TokenContract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + ERC721TokenContract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts index 4f849c1873..0cdd34e277 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -4555,6 +4563,7 @@ export class ExchangeContract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -6591,9 +6600,81 @@ export class ExchangeContract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the Exchange contract. + * @param eventName The Exchange contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: ExchangeEvents, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, ExchangeEvents); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + ExchangeContract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The Exchange contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: ExchangeEvents, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, ExchangeEvents); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + ExchangeContract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('Exchange', ExchangeContract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + ExchangeContract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts index 119b1d76fb..23da203f8b 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -888,6 +896,7 @@ export class MultiAssetProxyContract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -1200,9 +1209,81 @@ export class MultiAssetProxyContract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the MultiAssetProxy contract. + * @param eventName The MultiAssetProxy contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: MultiAssetProxyEvents, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, MultiAssetProxyEvents); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + MultiAssetProxyContract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The MultiAssetProxy contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: MultiAssetProxyEvents, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, MultiAssetProxyEvents); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + MultiAssetProxyContract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('MultiAssetProxy', MultiAssetProxyContract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + MultiAssetProxyContract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts index 49ac1028aa..51de23f67f 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -884,6 +892,7 @@ export class WETH9Contract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -1226,9 +1235,81 @@ export class WETH9Contract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the WETH9 contract. + * @param eventName The WETH9 contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: WETH9Events, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, WETH9Events); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + WETH9Contract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The WETH9 contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: WETH9Events, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, WETH9Events); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + WETH9Contract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('WETH9', WETH9Contract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + WETH9Contract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts index 1072cdba29..b0d5ff3df7 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -693,6 +701,7 @@ export class ZRXTokenContract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -966,9 +975,81 @@ export class ZRXTokenContract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the ZRXToken contract. + * @param eventName The ZRXToken contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: ZRXTokenEvents, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, ZRXTokenEvents); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + ZRXTokenContract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The ZRXToken contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: ZRXTokenEvents, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, ZRXTokenEvents); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + ZRXTokenContract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('ZRXToken', ZRXTokenContract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + ZRXTokenContract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json index 688f87f718..6f73c07925 100644 --- a/packages/abi-gen/package.json +++ b/packages/abi-gen/package.json @@ -93,6 +93,7 @@ "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", + "sinon": "^4.0.0", "solhint": "^1.4.1", "tslint": "5.11.0", "typescript": "3.0.1" diff --git a/packages/abi-gen/test-cli/expected-output/python/abi_gen_dummy/__init__.py b/packages/abi-gen/test-cli/expected-output/python/abi_gen_dummy/__init__.py index 70ca086ae5..0b33e533be 100644 --- a/packages/abi-gen/test-cli/expected-output/python/abi_gen_dummy/__init__.py +++ b/packages/abi-gen/test-cli/expected-output/python/abi_gen_dummy/__init__.py @@ -197,6 +197,39 @@ class AbiGenDummy(BaseContractWrapper): view_only=True ) + def withdraw( + self, + wad: int, + tx_params: Optional[TxParams] = None, + view_only: bool = False, + ) -> Union[None, Union[HexBytes, bytes]]: + """Execute underlying, same-named contract method. + + :param tx_params: transaction parameters + :param view_only: whether to use transact() or call() + + :returns: if param `view_only`:code: is `True`:code:, then returns the + value returned from the underlying function; else returns the + transaction hash. + """ + self.validator.assert_valid( + method_name='withdraw', + parameter_name='wad', + argument_value=wad, + ) + # safeguard against fractional inputs + wad = int(wad) + func = self._get_contract_instance( + self.contract_address + ).functions.withdraw( + wad + ) + return self._invoke_function_call( + func=func, + tx_params=tx_params, + view_only=view_only + ) + def ecrecover_fn( self, _hash: bytes, @@ -595,6 +628,19 @@ class AbiGenDummy(BaseContractWrapper): tx_params=tx_params, view_only=True ) + def get_withdrawal_event( + self, tx_hash: Union[HexBytes, bytes] + ) -> Tuple[AttributeDict]: + """Get log entry for Withdrawal event. + + :param tx_hash: hash of transaction emitting Withdrawal event + """ + tx_receipt = self._web3_eth.getTransactionReceipt(tx_hash) + return ( + self._get_contract_instance(self.contract_address) + .events.Withdrawal() + .processReceipt(tx_receipt) + ) def get_an_event_event( self, tx_hash: Union[HexBytes, bytes] ) -> Tuple[AttributeDict]: @@ -613,7 +659,7 @@ class AbiGenDummy(BaseContractWrapper): def abi(): """Return the ABI to the underlying contract.""" return json.loads( - '[{"constant":true,"inputs":[],"name":"simpleRequire","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"bytes[]"}],"name":"acceptsAnArrayOfBytes","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"hash","type":"bytes32"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"ecrecoverFn","outputs":[{"name":"signerAddress","type":"address"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"bytes"}],"name":"acceptsBytes","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"revertWithConstant","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"simpleRevert","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"nestedStructOutput","outputs":[{"components":[{"components":[{"name":"someBytes","type":"bytes"},{"name":"anInteger","type":"uint32"},{"name":"aDynamicArrayOfBytes","type":"bytes[]"},{"name":"aString","type":"string"}],"name":"innerStruct","type":"tuple"},{"name":"description","type":"string"}],"name":"","type":"tuple"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"requireWithConstant","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"address"},{"name":"a","type":"uint256"},{"name":"b","type":"uint256"},{"name":"y","type":"address"},{"name":"c","type":"uint256"}],"name":"withAddressInput","outputs":[{"name":"z","type":"address"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"components":[{"name":"someBytes","type":"bytes"},{"name":"anInteger","type":"uint32"},{"name":"aDynamicArrayOfBytes","type":"bytes[]"},{"name":"aString","type":"string"}],"name":"s","type":"tuple"}],"name":"structInput","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"nonPureMethod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"uint256"}],"name":"simplePureFunctionWithInput","outputs":[{"name":"sum","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"nonPureMethodThatReturnsNothing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"simplePureFunction","outputs":[{"name":"result","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"components":[{"components":[{"name":"someBytes","type":"bytes"},{"name":"anInteger","type":"uint32"},{"name":"aDynamicArrayOfBytes","type":"bytes[]"},{"name":"aString","type":"string"}],"name":"innerStruct","type":"tuple"},{"name":"description","type":"string"}],"name":"n","type":"tuple"}],"name":"nestedStructInput","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"structOutput","outputs":[{"components":[{"name":"someBytes","type":"bytes"},{"name":"anInteger","type":"uint32"},{"name":"aDynamicArrayOfBytes","type":"bytes[]"},{"name":"aString","type":"string"}],"name":"s","type":"tuple"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"pureFunctionWithConstant","outputs":[{"name":"someConstant","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"param","type":"uint8"}],"name":"AnEvent","type":"event"}]' # noqa: E501 (line-too-long) + '[{"constant":true,"inputs":[],"name":"simpleRequire","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"bytes[]"}],"name":"acceptsAnArrayOfBytes","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"wad","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"hash","type":"bytes32"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"ecrecoverFn","outputs":[{"name":"signerAddress","type":"address"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"bytes"}],"name":"acceptsBytes","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"revertWithConstant","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"simpleRevert","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"nestedStructOutput","outputs":[{"components":[{"components":[{"name":"someBytes","type":"bytes"},{"name":"anInteger","type":"uint32"},{"name":"aDynamicArrayOfBytes","type":"bytes[]"},{"name":"aString","type":"string"}],"name":"innerStruct","type":"tuple"},{"name":"description","type":"string"}],"name":"","type":"tuple"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"requireWithConstant","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"address"},{"name":"a","type":"uint256"},{"name":"b","type":"uint256"},{"name":"y","type":"address"},{"name":"c","type":"uint256"}],"name":"withAddressInput","outputs":[{"name":"z","type":"address"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"components":[{"name":"someBytes","type":"bytes"},{"name":"anInteger","type":"uint32"},{"name":"aDynamicArrayOfBytes","type":"bytes[]"},{"name":"aString","type":"string"}],"name":"s","type":"tuple"}],"name":"structInput","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"nonPureMethod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"uint256"}],"name":"simplePureFunctionWithInput","outputs":[{"name":"sum","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"nonPureMethodThatReturnsNothing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"simplePureFunction","outputs":[{"name":"result","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"components":[{"components":[{"name":"someBytes","type":"bytes"},{"name":"anInteger","type":"uint32"},{"name":"aDynamicArrayOfBytes","type":"bytes[]"},{"name":"aString","type":"string"}],"name":"innerStruct","type":"tuple"},{"name":"description","type":"string"}],"name":"n","type":"tuple"}],"name":"nestedStructInput","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"structOutput","outputs":[{"components":[{"name":"someBytes","type":"bytes"},{"name":"anInteger","type":"uint32"},{"name":"aDynamicArrayOfBytes","type":"bytes[]"},{"name":"aString","type":"string"}],"name":"s","type":"tuple"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"pureFunctionWithConstant","outputs":[{"name":"someConstant","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Withdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"param","type":"uint8"}],"name":"AnEvent","type":"event"}]' # noqa: E501 (line-too-long) ) # pylint: disable=too-many-lines diff --git a/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts index 67ca4b9534..cb741017c4 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts @@ -1,7 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { + BaseContract, + BlockRange, + EventCallback, + IndexedFilterValues, + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -10,6 +17,7 @@ import { ContractAbi, ContractArtifact, DecodedLogArgs, + LogWithDecodedArgs, MethodAbi, TransactionReceiptWithDecodedLogs, TxData, @@ -23,12 +31,18 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable -export type AbiGenDummyEventArgs = AbiGenDummyAnEventEventArgs; +export type AbiGenDummyEventArgs = AbiGenDummyWithdrawalEventArgs | AbiGenDummyAnEventEventArgs; export enum AbiGenDummyEvents { + Withdrawal = 'Withdrawal', AnEvent = 'AnEvent', } +export interface AbiGenDummyWithdrawalEventArgs extends DecodedLogArgs { + _owner: string; + _value: BigNumber; +} + export interface AbiGenDummyAnEventEventArgs extends DecodedLogArgs { param: number; } @@ -115,6 +129,106 @@ export class AbiGenDummyContract extends BaseContract { return abiEncodedTransactionData; }, }; + public withdraw = { + async sendTransactionAsync(wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('wad', wad); + const self = (this as any) as AbiGenDummyContract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.withdraw.estimateGasAsync.bind(self, wad), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; + }, + awaitTransactionSuccessAsync( + wad: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isBigNumber('wad', wad); + const self = (this as any) as AbiGenDummyContract; + const txHashPromise = self.withdraw.sendTransactionAsync(wad, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); + }, + async estimateGasAsync(wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('wad', wad); + const self = (this as any) as AbiGenDummyContract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; + }, + async callAsync(wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + assert.isBigNumber('wad', wad); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as AbiGenDummyContract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('withdraw(uint256)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + getABIEncodedTransactionData(wad: BigNumber): string { + assert.isBigNumber('wad', wad); + const self = (this as any) as AbiGenDummyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('withdraw(uint256)', [wad]); + return abiEncodedTransactionData; + }, + }; public ecrecoverFn = { async callAsync( hash: string, @@ -903,6 +1017,7 @@ export class AbiGenDummyContract extends BaseContract { return abiEncodedTransactionData; }, }; + private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -982,6 +1097,20 @@ export class AbiGenDummyContract extends BaseContract { stateMutability: 'pure', type: 'function', }, + { + constant: false, + inputs: [ + { + name: 'wad', + type: 'uint256', + }, + ], + name: 'withdraw', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, { constant: true, inputs: [ @@ -1307,6 +1436,24 @@ export class AbiGenDummyContract extends BaseContract { stateMutability: 'pure', type: 'function', }, + { + anonymous: false, + inputs: [ + { + name: '_owner', + type: 'address', + indexed: true, + }, + { + name: '_value', + type: 'uint256', + indexed: false, + }, + ], + name: 'Withdrawal', + outputs: [], + type: 'event', + }, { anonymous: false, inputs: [ @@ -1323,9 +1470,81 @@ export class AbiGenDummyContract extends BaseContract { ] as ContractAbi; return abi; } + /** + * Subscribe to an event type emitted by the AbiGenDummy contract. + * @param eventName The AbiGenDummy contract event you would like to subscribe to. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` + * @param callback Callback that gets called when a log is added/removed + * @param isVerbose Enable verbose subscription warnings (e.g recoverable network issues encountered) + * @return Subscription token used later to unsubscribe + */ + public subscribe( + eventName: AbiGenDummyEvents, + indexFilterValues: IndexedFilterValues, + callback: EventCallback, + isVerbose: boolean = false, + blockPollingIntervalMs?: number, + ): string { + assert.doesBelongToStringEnum('eventName', eventName, AbiGenDummyEvents); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); + const subscriptionToken = this._subscriptionManager.subscribe( + this.address, + eventName, + indexFilterValues, + AbiGenDummyContract.ABI(), + callback, + isVerbose, + blockPollingIntervalMs, + ); + return subscriptionToken; + } + /** + * Cancel a subscription + * @param subscriptionToken Subscription token returned by `subscribe()` + */ + public unsubscribe(subscriptionToken: string): void { + this._subscriptionManager.unsubscribe(subscriptionToken); + } + /** + * Cancels all existing subscriptions + */ + public unsubscribeAll(): void { + this._subscriptionManager.unsubscribeAll(); + } + /** + * Gets historical logs without creating a subscription + * @param eventName The AbiGenDummy contract event you would like to subscribe to. + * @param blockRange Block range to get logs from. + * @param indexFilterValues An object where the keys are indexed args returned by the event and + * the value is the value you are interested in. E.g `{_from: aUserAddressHex}` + * @return Array of logs that match the parameters + */ + public async getLogsAsync( + eventName: AbiGenDummyEvents, + blockRange: BlockRange, + indexFilterValues: IndexedFilterValues, + ): Promise>> { + assert.doesBelongToStringEnum('eventName', eventName, AbiGenDummyEvents); + assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); + assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + const logs = await this._subscriptionManager.getLogsAsync( + this.address, + eventName, + blockRange, + indexFilterValues, + AbiGenDummyContract.ABI(), + ); + return logs; + } constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { super('AbiGenDummy', AbiGenDummyContract.ABI(), address, supportedProvider, txDefaults); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); + this._subscriptionManager = new SubscriptionManager( + AbiGenDummyContract.ABI(), + this._web3Wrapper, + ); } } diff --git a/packages/abi-gen/test-cli/fixtures/artifacts/AbiGenDummy.json b/packages/abi-gen/test-cli/fixtures/artifacts/AbiGenDummy.json index 0d6cf52860..6150aefefa 100644 --- a/packages/abi-gen/test-cli/fixtures/artifacts/AbiGenDummy.json +++ b/packages/abi-gen/test-cli/fixtures/artifacts/AbiGenDummy.json @@ -26,6 +26,20 @@ "stateMutability": "pure", "type": "function" }, + { + "constant": false, + "inputs": [ + { + "name": "wad", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, { "constant": true, "inputs": [ @@ -351,6 +365,23 @@ "stateMutability": "pure", "type": "function" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_owner", + "type": "address" + }, + { + "indexed": false, + "name": "_value", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -381,15 +412,15 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "0x608060405234801561001057600080fd5b50610b98806100206000396000f3fe608060405234801561001057600080fd5b506004361061011a5760003560e01c806363d69c88116100b25780639a3b618511610081578063ae2dae1711610066578063ae2dae17146101f9578063d6d7618c14610207578063d88be12f1461021c5761011a565b80639a3b6185146101e9578063a3c2f6b6146101f15761011a565b806363d69c88146101a0578063647341eb146101b357806376f15d5b146101c15780638ee52b4e146101d65761011a565b80634582eab2116100ee5780634582eab21461017357806345fdbdb71461017b57806359c28add146101835780635ba3c7c0146101985761011a565b806209e4371461011f5780630527c28f1461012957806336b323961461013c5780633e9ef66a14610165575b600080fd5b610127610224565b005b6101276101373660046106d7565b61025f565b61014f61014a366004610714565b610262565b60405161015c9190610999565b60405180910390f35b610127610137366004610757565b610127610344565b6101276103a9565b61018b6103db565b60405161015c9190610a60565b6101276103e6565b61014f6101ae366004610685565b61044b565b61012761013736600461081c565b6101c9610454565b60405161015c9190610ad3565b6101c96101e4366004610851565b610462565b610127610468565b6101c9610473565b61012761013736600461078c565b61020f610478565b60405161015c9190610ac0565b6101c9610480565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025690610a29565b60405180910390fd5b50565b600060606040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152509050600081876040516020016102b3929190610977565b604051602081830303815290604052805190602001209050600181878787604051600081526020016040526040516102ee94939291906109ba565b6020604051602081039080840390855afa158015610310573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015198975050505050505050565b604080518082018252601481527f5245564552545f574954485f434f4e5354414e54000000000000000000000000602082015290517f08c379a000000000000000000000000000000000000000000000000000000000815261025691906004016109d8565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610256906109f2565b6103e3610486565b90565b604080518082018252601581527f524551554952455f574954485f434f4e5354414e540000000000000000000000602082015290517f08c379a000000000000000000000000000000000000000000000000000000000815261025691906004016109d8565b50929392505050565b600080546001019081905590565b60010190565b600080546001019055565b600190565b6103e36104a6565b6104d290565b6040518060a001604052806104996104a6565b8152602001606081525090565b604051806080016040528060608152602001600063ffffffff16815260200160608152602001606081525090565b600082601f8301126104e4578081fd5b813567ffffffffffffffff8111156104fa578182fd5b60206105098182840201610adc565b828152925080830184820160005b848110156105405761052e888584358a010161054b565b83529183019190830190600101610517565b505050505092915050565b600082601f83011261055b578081fd5b813567ffffffffffffffff811115610571578182fd5b6105a260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610adc565b91508082528360208285010111156105b957600080fd5b8060208401602084013760009082016020015292915050565b6000608082840312156105e3578081fd5b6105ed6080610adc565b90506000823567ffffffffffffffff80821115610608578283fd5b6106148683870161054b565b84526020850135915063ffffffff8216821461062e578283fd5b8160208501526040850135915080821115610647578283fd5b610653868387016104d4565b6040850152606085013591508082111561066b578283fd5b506106788582860161054b565b6060840152505092915050565b600080600080600060a0868803121561069d57600080fd5b85356106a881610b33565b9450602086013593506040860135925060608601356106c681610b33565b949793965091946080013592915050565b6000602082840312156106e957600080fd5b813567ffffffffffffffff81111561070057600080fd5b61070c848285016104d4565b949350505050565b6000806000806080858703121561072a57600080fd5b84359350602085013560ff8116811461074257600080fd5b93969395505050506040820135916060013590565b60006020828403121561076957600080fd5b813567ffffffffffffffff81111561078057600080fd5b61070c8482850161054b565b60006020828403121561079d578081fd5b813567ffffffffffffffff808211156107b4578283fd5b818401604081870312156107c6578384fd5b6107d06040610adc565b92508035828111156107e0578485fd5b6107ec878284016105d2565b845250602081013582811115610800578485fd5b61080c8782840161054b565b6020850152509195945050505050565b60006020828403121561082e57600080fd5b813567ffffffffffffffff81111561084557600080fd5b61070c848285016105d2565b60006020828403121561086357600080fd5b5035919050565b60008151808452610882816020860160208601610b03565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008151608084526108c9608085018261086a565b6020915063ffffffff82850151168286015260408401518582036040870152818151808452848401915084858202850101858401600094505b82851015610950577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe086830301845261093c82825161086a565b600195909501949387019391508601610902565b506060880151955088810360608a015261096a818761086a565b9998505050505050505050565b60008351610989818460208801610b03565b9190910191825250602001919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526109eb602083018461086a565b9392505050565b6020808252600d908201527f53494d504c455f52455645525400000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f53494d504c455f52455155495245000000000000000000000000000000000000604082015260600190565b600060208252825160406020840152610a7c60608401826108b4565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848203016040850152610ab7818361086a565b95945050505050565b6000602082526109eb60208301846108b4565b90815260200190565b60405181810167ffffffffffffffff81118282101715610afb57600080fd5b604052919050565b60005b83811015610b1e578181015183820152602001610b06565b83811115610b2d576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461025f57600080fdfea365627a7a72305820888f51db8be2b65eeba07b18b43cdc6dad5d8e6807eb4aa7f11e06f111742aef6c6578706572696d656e74616cf564736f6c634300050a0040", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB98 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x11A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x63D69C88 GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0x9A3B6185 GT PUSH2 0x81 JUMPI DUP1 PUSH4 0xAE2DAE17 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xAE2DAE17 EQ PUSH2 0x1F9 JUMPI DUP1 PUSH4 0xD6D7618C EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xD88BE12F EQ PUSH2 0x21C JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH4 0x9A3B6185 EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0xA3C2F6B6 EQ PUSH2 0x1F1 JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH4 0x63D69C88 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x647341EB EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x76F15D5B EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x8EE52B4E EQ PUSH2 0x1D6 JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH4 0x4582EAB2 GT PUSH2 0xEE JUMPI DUP1 PUSH4 0x4582EAB2 EQ PUSH2 0x173 JUMPI DUP1 PUSH4 0x45FDBDB7 EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x59C28ADD EQ PUSH2 0x183 JUMPI DUP1 PUSH4 0x5BA3C7C0 EQ PUSH2 0x198 JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH3 0x9E437 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x527C28F EQ PUSH2 0x129 JUMPI DUP1 PUSH4 0x36B32396 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x3E9EF66A EQ PUSH2 0x165 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x127 PUSH2 0x224 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x6D7 JUMP JUMPDEST PUSH2 0x25F JUMP JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x714 JUMP JUMPDEST PUSH2 0x262 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x999 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x757 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x344 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x3A9 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x3DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xA60 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x3E6 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1AE CALLDATASIZE PUSH1 0x4 PUSH2 0x685 JUMP JUMPDEST PUSH2 0x44B JUMP JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x81C JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x454 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xAD3 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x851 JUMP JUMPDEST PUSH2 0x462 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x468 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x473 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x78C JUMP JUMPDEST PUSH2 0x20F PUSH2 0x478 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xAC0 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x480 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x256 SWAP1 PUSH2 0xA29 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1C DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 DUP2 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2B3 SWAP3 SWAP2 SWAP1 PUSH2 0x977 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 DUP2 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x2EE SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x9BA JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x310 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 ADD MLOAD SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH32 0x5245564552545F574954485F434F4E5354414E54000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0x256 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x9D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x256 SWAP1 PUSH2 0x9F2 JUMP JUMPDEST PUSH2 0x3E3 PUSH2 0x486 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH32 0x524551554952455F574954485F434F4E5354414E540000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0x256 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x9D8 JUMP JUMPDEST POP SWAP3 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 DUP2 SWAP1 SSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH2 0x3E3 PUSH2 0x4A6 JUMP JUMPDEST PUSH2 0x4D2 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x499 PUSH2 0x4A6 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4E4 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4FA JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x20 PUSH2 0x509 DUP2 DUP3 DUP5 MUL ADD PUSH2 0xADC JUMP JUMPDEST DUP3 DUP2 MSTORE SWAP3 POP DUP1 DUP4 ADD DUP5 DUP3 ADD PUSH1 0x0 JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x540 JUMPI PUSH2 0x52E DUP9 DUP6 DUP5 CALLDATALOAD DUP11 ADD ADD PUSH2 0x54B JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x517 JUMP JUMPDEST POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x55B JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x571 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x5A2 PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD PUSH2 0xADC JUMP JUMPDEST SWAP2 POP DUP1 DUP3 MSTORE DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x5B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP5 ADD CALLDATACOPY PUSH1 0x0 SWAP1 DUP3 ADD PUSH1 0x20 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5E3 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5ED PUSH1 0x80 PUSH2 0xADC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x608 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x614 DUP7 DUP4 DUP8 ADD PUSH2 0x54B JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH4 0xFFFFFFFF DUP3 AND DUP3 EQ PUSH2 0x62E JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x647 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x653 DUP7 DUP4 DUP8 ADD PUSH2 0x4D4 JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x66B JUMPI DUP3 DUP4 REVERT JUMPDEST POP PUSH2 0x678 DUP6 DUP3 DUP7 ADD PUSH2 0x54B JUMP JUMPDEST PUSH1 0x60 DUP5 ADD MSTORE POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x69D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x6A8 DUP2 PUSH2 0xB33 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH2 0x6C6 DUP2 PUSH2 0xB33 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP2 SWAP5 PUSH1 0x80 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x700 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70C DUP5 DUP3 DUP6 ADD PUSH2 0x4D4 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x72A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x742 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x769 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x780 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70C DUP5 DUP3 DUP6 ADD PUSH2 0x54B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x79D JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x7B4 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD PUSH1 0x40 DUP2 DUP8 SUB SLT ISZERO PUSH2 0x7C6 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x7D0 PUSH1 0x40 PUSH2 0xADC JUMP JUMPDEST SWAP3 POP DUP1 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x7E0 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x7EC DUP8 DUP3 DUP5 ADD PUSH2 0x5D2 JUMP JUMPDEST DUP5 MSTORE POP PUSH1 0x20 DUP2 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x800 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x80C DUP8 DUP3 DUP5 ADD PUSH2 0x54B JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MSTORE POP SWAP2 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x82E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x845 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70C DUP5 DUP3 DUP6 ADD PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x863 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x882 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xB03 JUMP JUMPDEST PUSH1 0x1F ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD PUSH1 0x80 DUP5 MSTORE PUSH2 0x8C9 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x86A JUMP JUMPDEST PUSH1 0x20 SWAP2 POP PUSH4 0xFFFFFFFF DUP3 DUP6 ADD MLOAD AND DUP3 DUP7 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD DUP6 DUP3 SUB PUSH1 0x40 DUP8 ADD MSTORE DUP2 DUP2 MLOAD DUP1 DUP5 MSTORE DUP5 DUP5 ADD SWAP2 POP DUP5 DUP6 DUP3 MUL DUP6 ADD ADD DUP6 DUP5 ADD PUSH1 0x0 SWAP5 POP JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x950 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP7 DUP4 SUB ADD DUP5 MSTORE PUSH2 0x93C DUP3 DUP3 MLOAD PUSH2 0x86A JUMP JUMPDEST PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP8 ADD SWAP4 SWAP2 POP DUP7 ADD PUSH2 0x902 JUMP JUMPDEST POP PUSH1 0x60 DUP9 ADD MLOAD SWAP6 POP DUP9 DUP2 SUB PUSH1 0x60 DUP11 ADD MSTORE PUSH2 0x96A DUP2 DUP8 PUSH2 0x86A JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x989 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xB03 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP2 DUP3 MSTORE POP PUSH1 0x20 ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0x9EB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x86A JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xD SWAP1 DUP3 ADD MSTORE PUSH32 0x53494D504C455F52455645525400000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xE SWAP1 DUP3 ADD MSTORE PUSH32 0x53494D504C455F52455155495245000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE DUP3 MLOAD PUSH1 0x40 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xA7C PUSH1 0x60 DUP5 ADD DUP3 PUSH2 0x8B4 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP5 DUP3 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0xAB7 DUP2 DUP4 PUSH2 0x86A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0x9EB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x8B4 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0xAFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xB1E JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xB06 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xB2D JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x25F JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG3 PUSH6 0x627A7A723058 KECCAK256 DUP9 DUP16 MLOAD 0xdb DUP12 0xe2 0xb6 0x5e 0xeb LOG0 PUSH28 0x18B43CDC6DAD5D8E6807EB4AA7F11E06F111742AEF6C657870657269 PUSH14 0x656E74616CF564736F6C63430005 EXP STOP BLOCKHASH ", - "sourceMap": "641:2757:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;641:2757:0;;;;;;;" + "object": "0x608060405234801561001057600080fd5b50610c17806100206000396000f3fe608060405234801561001057600080fd5b50600436106101355760003560e01c806363d69c88116100b25780639a3b618511610081578063ae2dae1711610066578063ae2dae1714610227578063d6d7618c14610235578063d88be12f1461024a57610135565b80639a3b618514610217578063a3c2f6b61461021f57610135565b806363d69c88146101ce578063647341eb146101e157806376f15d5b146101ef5780638ee52b4e1461020457610135565b80633e9ef66a1161010957806345fdbdb7116100ee57806345fdbdb7146101a957806359c28add146101b15780635ba3c7c0146101c657610135565b80633e9ef66a146101935780634582eab2146101a157610135565b806209e4371461013a5780630527c28f146101445780632e1a7d4d1461015757806336b323961461016a575b600080fd5b610142610252565b005b610142610152366004610756565b61028d565b6101426101653660046108d0565b610290565b61017d610178366004610793565b6102e1565b60405161018a9190610a18565b60405180910390f35b6101426101523660046107d6565b6101426103c3565b610142610428565b6101b961045a565b60405161018a9190610adf565b610142610465565b61017d6101dc366004610704565b6104ca565b61014261015236600461089b565b6101f76104d3565b60405161018a9190610b52565b6101f76102123660046108d0565b6104e1565b6101426104e7565b6101f76104f2565b61014261015236600461080b565b61023d6104f7565b60405161018a9190610b3f565b6101f76104ff565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028490610aa8565b60405180910390fd5b50565b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040516102d69190610b52565b60405180910390a250565b600060606040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152509050600081876040516020016103329291906109f6565b6040516020818303038152906040528051906020012090506001818787876040516000815260200160405260405161036d9493929190610a39565b6020604051602081039080840390855afa15801561038f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015198975050505050505050565b604080518082018252601481527f5245564552545f574954485f434f4e5354414e54000000000000000000000000602082015290517f08c379a00000000000000000000000000000000000000000000000000000000081526102849190600401610a57565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028490610a71565b610462610505565b90565b604080518082018252601581527f524551554952455f574954485f434f4e5354414e540000000000000000000000602082015290517f08c379a00000000000000000000000000000000000000000000000000000000081526102849190600401610a57565b50929392505050565b600080546001019081905590565b60010190565b600080546001019055565b600190565b610462610525565b6104d290565b6040518060a00160405280610518610525565b8152602001606081525090565b604051806080016040528060608152602001600063ffffffff16815260200160608152602001606081525090565b600082601f830112610563578081fd5b813567ffffffffffffffff811115610579578182fd5b60206105888182840201610b5b565b828152925080830184820160005b848110156105bf576105ad888584358a01016105ca565b83529183019190830190600101610596565b505050505092915050565b600082601f8301126105da578081fd5b813567ffffffffffffffff8111156105f0578182fd5b61062160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610b5b565b915080825283602082850101111561063857600080fd5b8060208401602084013760009082016020015292915050565b600060808284031215610662578081fd5b61066c6080610b5b565b90506000823567ffffffffffffffff80821115610687578283fd5b610693868387016105ca565b84526020850135915063ffffffff821682146106ad578283fd5b81602085015260408501359150808211156106c6578283fd5b6106d286838701610553565b604085015260608501359150808211156106ea578283fd5b506106f7858286016105ca565b6060840152505092915050565b600080600080600060a0868803121561071c57600080fd5b853561072781610bb2565b94506020860135935060408601359250606086013561074581610bb2565b949793965091946080013592915050565b60006020828403121561076857600080fd5b813567ffffffffffffffff81111561077f57600080fd5b61078b84828501610553565b949350505050565b600080600080608085870312156107a957600080fd5b84359350602085013560ff811681146107c157600080fd5b93969395505050506040820135916060013590565b6000602082840312156107e857600080fd5b813567ffffffffffffffff8111156107ff57600080fd5b61078b848285016105ca565b60006020828403121561081c578081fd5b813567ffffffffffffffff80821115610833578283fd5b81840160408187031215610845578384fd5b61084f6040610b5b565b925080358281111561085f578485fd5b61086b87828401610651565b84525060208101358281111561087f578485fd5b61088b878284016105ca565b6020850152509195945050505050565b6000602082840312156108ad57600080fd5b813567ffffffffffffffff8111156108c457600080fd5b61078b84828501610651565b6000602082840312156108e257600080fd5b5035919050565b60008151808452610901816020860160208601610b82565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081516080845261094860808501826108e9565b6020915063ffffffff82850151168286015260408401518582036040870152818151808452848401915084858202850101858401600094505b828510156109cf577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08683030184526109bb8282516108e9565b600195909501949387019391508601610981565b506060880151955088810360608a01526109e981876108e9565b9998505050505050505050565b60008351610a08818460208801610b82565b9190910191825250602001919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b93845260ff9290921660208401526040830152606082015260800190565b600060208252610a6a60208301846108e9565b9392505050565b6020808252600d908201527f53494d504c455f52455645525400000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f53494d504c455f52455155495245000000000000000000000000000000000000604082015260600190565b600060208252825160406020840152610afb6060840182610933565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848203016040850152610b3681836108e9565b95945050505050565b600060208252610a6a6020830184610933565b90815260200190565b60405181810167ffffffffffffffff81118282101715610b7a57600080fd5b604052919050565b60005b83811015610b9d578181015183820152602001610b85565b83811115610bac576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461028d57600080fdfea365627a7a723058201a16b3cd19a115b5cfe3a42e5ddcd7a41b75f4a376a121a647cd429cbbf546266c6578706572696d656e74616cf564736f6c634300050a0040", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC17 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x135 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x63D69C88 GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0x9A3B6185 GT PUSH2 0x81 JUMPI DUP1 PUSH4 0xAE2DAE17 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xAE2DAE17 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0xD6D7618C EQ PUSH2 0x235 JUMPI DUP1 PUSH4 0xD88BE12F EQ PUSH2 0x24A JUMPI PUSH2 0x135 JUMP JUMPDEST DUP1 PUSH4 0x9A3B6185 EQ PUSH2 0x217 JUMPI DUP1 PUSH4 0xA3C2F6B6 EQ PUSH2 0x21F JUMPI PUSH2 0x135 JUMP JUMPDEST DUP1 PUSH4 0x63D69C88 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x647341EB EQ PUSH2 0x1E1 JUMPI DUP1 PUSH4 0x76F15D5B EQ PUSH2 0x1EF JUMPI DUP1 PUSH4 0x8EE52B4E EQ PUSH2 0x204 JUMPI PUSH2 0x135 JUMP JUMPDEST DUP1 PUSH4 0x3E9EF66A GT PUSH2 0x109 JUMPI DUP1 PUSH4 0x45FDBDB7 GT PUSH2 0xEE JUMPI DUP1 PUSH4 0x45FDBDB7 EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x59C28ADD EQ PUSH2 0x1B1 JUMPI DUP1 PUSH4 0x5BA3C7C0 EQ PUSH2 0x1C6 JUMPI PUSH2 0x135 JUMP JUMPDEST DUP1 PUSH4 0x3E9EF66A EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0x4582EAB2 EQ PUSH2 0x1A1 JUMPI PUSH2 0x135 JUMP JUMPDEST DUP1 PUSH3 0x9E437 EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0x527C28F EQ PUSH2 0x144 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x36B32396 EQ PUSH2 0x16A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x142 PUSH2 0x252 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x142 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x756 JUMP JUMPDEST PUSH2 0x28D JUMP JUMPDEST PUSH2 0x142 PUSH2 0x165 CALLDATASIZE PUSH1 0x4 PUSH2 0x8D0 JUMP JUMPDEST PUSH2 0x290 JUMP JUMPDEST PUSH2 0x17D PUSH2 0x178 CALLDATASIZE PUSH1 0x4 PUSH2 0x793 JUMP JUMPDEST PUSH2 0x2E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18A SWAP2 SWAP1 PUSH2 0xA18 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x142 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x7D6 JUMP JUMPDEST PUSH2 0x142 PUSH2 0x3C3 JUMP JUMPDEST PUSH2 0x142 PUSH2 0x428 JUMP JUMPDEST PUSH2 0x1B9 PUSH2 0x45A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18A SWAP2 SWAP1 PUSH2 0xADF JUMP JUMPDEST PUSH2 0x142 PUSH2 0x465 JUMP JUMPDEST PUSH2 0x17D PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0x704 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST PUSH2 0x142 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x89B JUMP JUMPDEST PUSH2 0x1F7 PUSH2 0x4D3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18A SWAP2 SWAP1 PUSH2 0xB52 JUMP JUMPDEST PUSH2 0x1F7 PUSH2 0x212 CALLDATASIZE PUSH1 0x4 PUSH2 0x8D0 JUMP JUMPDEST PUSH2 0x4E1 JUMP JUMPDEST PUSH2 0x142 PUSH2 0x4E7 JUMP JUMPDEST PUSH2 0x1F7 PUSH2 0x4F2 JUMP JUMPDEST PUSH2 0x142 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x80B JUMP JUMPDEST PUSH2 0x23D PUSH2 0x4F7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18A SWAP2 SWAP1 PUSH2 0xB3F JUMP JUMPDEST PUSH2 0x1F7 PUSH2 0x4FF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x284 SWAP1 PUSH2 0xAA8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x7FCF532C15F0A6DB0BD6D0E038BEA71D30D808C7D98CB3BF7268A95BF5081B65 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2D6 SWAP2 SWAP1 PUSH2 0xB52 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1C DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 DUP2 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x332 SWAP3 SWAP2 SWAP1 PUSH2 0x9F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 DUP2 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x36D SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xA39 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x38F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 ADD MLOAD SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH32 0x5245564552545F574954485F434F4E5354414E54000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0x284 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0xA57 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x284 SWAP1 PUSH2 0xA71 JUMP JUMPDEST PUSH2 0x462 PUSH2 0x505 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH32 0x524551554952455F574954485F434F4E5354414E540000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0x284 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0xA57 JUMP JUMPDEST POP SWAP3 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 DUP2 SWAP1 SSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH2 0x462 PUSH2 0x525 JUMP JUMPDEST PUSH2 0x4D2 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x518 PUSH2 0x525 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x563 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x579 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x20 PUSH2 0x588 DUP2 DUP3 DUP5 MUL ADD PUSH2 0xB5B JUMP JUMPDEST DUP3 DUP2 MSTORE SWAP3 POP DUP1 DUP4 ADD DUP5 DUP3 ADD PUSH1 0x0 JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x5BF JUMPI PUSH2 0x5AD DUP9 DUP6 DUP5 CALLDATALOAD DUP11 ADD ADD PUSH2 0x5CA JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x596 JUMP JUMPDEST POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5DA JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5F0 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x621 PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD PUSH2 0xB5B JUMP JUMPDEST SWAP2 POP DUP1 DUP3 MSTORE DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x638 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP5 ADD CALLDATACOPY PUSH1 0x0 SWAP1 DUP3 ADD PUSH1 0x20 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x662 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x66C PUSH1 0x80 PUSH2 0xB5B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x687 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x693 DUP7 DUP4 DUP8 ADD PUSH2 0x5CA JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH4 0xFFFFFFFF DUP3 AND DUP3 EQ PUSH2 0x6AD JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x6C6 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x6D2 DUP7 DUP4 DUP8 ADD PUSH2 0x553 JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x6EA JUMPI DUP3 DUP4 REVERT JUMPDEST POP PUSH2 0x6F7 DUP6 DUP3 DUP7 ADD PUSH2 0x5CA JUMP JUMPDEST PUSH1 0x60 DUP5 ADD MSTORE POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x71C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x727 DUP2 PUSH2 0xBB2 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH2 0x745 DUP2 PUSH2 0xBB2 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP2 SWAP5 PUSH1 0x80 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x768 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x77F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78B DUP5 DUP3 DUP6 ADD PUSH2 0x553 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x7A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x7C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78B DUP5 DUP3 DUP6 ADD PUSH2 0x5CA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x81C JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x833 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD PUSH1 0x40 DUP2 DUP8 SUB SLT ISZERO PUSH2 0x845 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x84F PUSH1 0x40 PUSH2 0xB5B JUMP JUMPDEST SWAP3 POP DUP1 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x85F JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x86B DUP8 DUP3 DUP5 ADD PUSH2 0x651 JUMP JUMPDEST DUP5 MSTORE POP PUSH1 0x20 DUP2 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x87F JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x88B DUP8 DUP3 DUP5 ADD PUSH2 0x5CA JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MSTORE POP SWAP2 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x8C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78B DUP5 DUP3 DUP6 ADD PUSH2 0x651 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x901 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xB82 JUMP JUMPDEST PUSH1 0x1F ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD PUSH1 0x80 DUP5 MSTORE PUSH2 0x948 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x8E9 JUMP JUMPDEST PUSH1 0x20 SWAP2 POP PUSH4 0xFFFFFFFF DUP3 DUP6 ADD MLOAD AND DUP3 DUP7 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD DUP6 DUP3 SUB PUSH1 0x40 DUP8 ADD MSTORE DUP2 DUP2 MLOAD DUP1 DUP5 MSTORE DUP5 DUP5 ADD SWAP2 POP DUP5 DUP6 DUP3 MUL DUP6 ADD ADD DUP6 DUP5 ADD PUSH1 0x0 SWAP5 POP JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x9CF JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP7 DUP4 SUB ADD DUP5 MSTORE PUSH2 0x9BB DUP3 DUP3 MLOAD PUSH2 0x8E9 JUMP JUMPDEST PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP8 ADD SWAP4 SWAP2 POP DUP7 ADD PUSH2 0x981 JUMP JUMPDEST POP PUSH1 0x60 DUP9 ADD MLOAD SWAP6 POP DUP9 DUP2 SUB PUSH1 0x60 DUP11 ADD MSTORE PUSH2 0x9E9 DUP2 DUP8 PUSH2 0x8E9 JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0xA08 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xB82 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP2 DUP3 MSTORE POP PUSH1 0x20 ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0xA6A PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x8E9 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xD SWAP1 DUP3 ADD MSTORE PUSH32 0x53494D504C455F52455645525400000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xE SWAP1 DUP3 ADD MSTORE PUSH32 0x53494D504C455F52455155495245000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE DUP3 MLOAD PUSH1 0x40 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xAFB PUSH1 0x60 DUP5 ADD DUP3 PUSH2 0x933 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP5 DUP3 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0xB36 DUP2 DUP4 PUSH2 0x8E9 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0xA6A PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x933 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0xB7A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xB9D JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xB85 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xBAC JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x28D JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG3 PUSH6 0x627A7A723058 KECCAK256 BYTE AND 0xb3 0xcd NOT LOG1 ISZERO 0xb5 0xcf 0xe3 LOG4 0x2e 0x5d 0xdc 0xd7 LOG4 SHL PUSH22 0xF4A376A121A647CD429CBBF546266C6578706572696D PUSH6 0x6E74616CF564 PUSH20 0x6F6C634300050A00400000000000000000000000 ", + "sourceMap": "641:2908:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;641:2908:0;;;;;;;" }, "deployedBytecode": { "linkReferences": {}, - "object": "0x608060405234801561001057600080fd5b506004361061011a5760003560e01c806363d69c88116100b25780639a3b618511610081578063ae2dae1711610066578063ae2dae17146101f9578063d6d7618c14610207578063d88be12f1461021c5761011a565b80639a3b6185146101e9578063a3c2f6b6146101f15761011a565b806363d69c88146101a0578063647341eb146101b357806376f15d5b146101c15780638ee52b4e146101d65761011a565b80634582eab2116100ee5780634582eab21461017357806345fdbdb71461017b57806359c28add146101835780635ba3c7c0146101985761011a565b806209e4371461011f5780630527c28f1461012957806336b323961461013c5780633e9ef66a14610165575b600080fd5b610127610224565b005b6101276101373660046106d7565b61025f565b61014f61014a366004610714565b610262565b60405161015c9190610999565b60405180910390f35b610127610137366004610757565b610127610344565b6101276103a9565b61018b6103db565b60405161015c9190610a60565b6101276103e6565b61014f6101ae366004610685565b61044b565b61012761013736600461081c565b6101c9610454565b60405161015c9190610ad3565b6101c96101e4366004610851565b610462565b610127610468565b6101c9610473565b61012761013736600461078c565b61020f610478565b60405161015c9190610ac0565b6101c9610480565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025690610a29565b60405180910390fd5b50565b600060606040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152509050600081876040516020016102b3929190610977565b604051602081830303815290604052805190602001209050600181878787604051600081526020016040526040516102ee94939291906109ba565b6020604051602081039080840390855afa158015610310573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015198975050505050505050565b604080518082018252601481527f5245564552545f574954485f434f4e5354414e54000000000000000000000000602082015290517f08c379a000000000000000000000000000000000000000000000000000000000815261025691906004016109d8565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610256906109f2565b6103e3610486565b90565b604080518082018252601581527f524551554952455f574954485f434f4e5354414e540000000000000000000000602082015290517f08c379a000000000000000000000000000000000000000000000000000000000815261025691906004016109d8565b50929392505050565b600080546001019081905590565b60010190565b600080546001019055565b600190565b6103e36104a6565b6104d290565b6040518060a001604052806104996104a6565b8152602001606081525090565b604051806080016040528060608152602001600063ffffffff16815260200160608152602001606081525090565b600082601f8301126104e4578081fd5b813567ffffffffffffffff8111156104fa578182fd5b60206105098182840201610adc565b828152925080830184820160005b848110156105405761052e888584358a010161054b565b83529183019190830190600101610517565b505050505092915050565b600082601f83011261055b578081fd5b813567ffffffffffffffff811115610571578182fd5b6105a260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610adc565b91508082528360208285010111156105b957600080fd5b8060208401602084013760009082016020015292915050565b6000608082840312156105e3578081fd5b6105ed6080610adc565b90506000823567ffffffffffffffff80821115610608578283fd5b6106148683870161054b565b84526020850135915063ffffffff8216821461062e578283fd5b8160208501526040850135915080821115610647578283fd5b610653868387016104d4565b6040850152606085013591508082111561066b578283fd5b506106788582860161054b565b6060840152505092915050565b600080600080600060a0868803121561069d57600080fd5b85356106a881610b33565b9450602086013593506040860135925060608601356106c681610b33565b949793965091946080013592915050565b6000602082840312156106e957600080fd5b813567ffffffffffffffff81111561070057600080fd5b61070c848285016104d4565b949350505050565b6000806000806080858703121561072a57600080fd5b84359350602085013560ff8116811461074257600080fd5b93969395505050506040820135916060013590565b60006020828403121561076957600080fd5b813567ffffffffffffffff81111561078057600080fd5b61070c8482850161054b565b60006020828403121561079d578081fd5b813567ffffffffffffffff808211156107b4578283fd5b818401604081870312156107c6578384fd5b6107d06040610adc565b92508035828111156107e0578485fd5b6107ec878284016105d2565b845250602081013582811115610800578485fd5b61080c8782840161054b565b6020850152509195945050505050565b60006020828403121561082e57600080fd5b813567ffffffffffffffff81111561084557600080fd5b61070c848285016105d2565b60006020828403121561086357600080fd5b5035919050565b60008151808452610882816020860160208601610b03565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008151608084526108c9608085018261086a565b6020915063ffffffff82850151168286015260408401518582036040870152818151808452848401915084858202850101858401600094505b82851015610950577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe086830301845261093c82825161086a565b600195909501949387019391508601610902565b506060880151955088810360608a015261096a818761086a565b9998505050505050505050565b60008351610989818460208801610b03565b9190910191825250602001919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526109eb602083018461086a565b9392505050565b6020808252600d908201527f53494d504c455f52455645525400000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f53494d504c455f52455155495245000000000000000000000000000000000000604082015260600190565b600060208252825160406020840152610a7c60608401826108b4565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848203016040850152610ab7818361086a565b95945050505050565b6000602082526109eb60208301846108b4565b90815260200190565b60405181810167ffffffffffffffff81118282101715610afb57600080fd5b604052919050565b60005b83811015610b1e578181015183820152602001610b06565b83811115610b2d576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461025f57600080fdfea365627a7a72305820888f51db8be2b65eeba07b18b43cdc6dad5d8e6807eb4aa7f11e06f111742aef6c6578706572696d656e74616cf564736f6c634300050a0040", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x11A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x63D69C88 GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0x9A3B6185 GT PUSH2 0x81 JUMPI DUP1 PUSH4 0xAE2DAE17 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xAE2DAE17 EQ PUSH2 0x1F9 JUMPI DUP1 PUSH4 0xD6D7618C EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xD88BE12F EQ PUSH2 0x21C JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH4 0x9A3B6185 EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0xA3C2F6B6 EQ PUSH2 0x1F1 JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH4 0x63D69C88 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x647341EB EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x76F15D5B EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x8EE52B4E EQ PUSH2 0x1D6 JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH4 0x4582EAB2 GT PUSH2 0xEE JUMPI DUP1 PUSH4 0x4582EAB2 EQ PUSH2 0x173 JUMPI DUP1 PUSH4 0x45FDBDB7 EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x59C28ADD EQ PUSH2 0x183 JUMPI DUP1 PUSH4 0x5BA3C7C0 EQ PUSH2 0x198 JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH3 0x9E437 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x527C28F EQ PUSH2 0x129 JUMPI DUP1 PUSH4 0x36B32396 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x3E9EF66A EQ PUSH2 0x165 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x127 PUSH2 0x224 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x6D7 JUMP JUMPDEST PUSH2 0x25F JUMP JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x714 JUMP JUMPDEST PUSH2 0x262 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x999 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x757 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x344 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x3A9 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x3DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xA60 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x3E6 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1AE CALLDATASIZE PUSH1 0x4 PUSH2 0x685 JUMP JUMPDEST PUSH2 0x44B JUMP JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x81C JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x454 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xAD3 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x851 JUMP JUMPDEST PUSH2 0x462 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x468 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x473 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x78C JUMP JUMPDEST PUSH2 0x20F PUSH2 0x478 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xAC0 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x480 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x256 SWAP1 PUSH2 0xA29 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1C DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 DUP2 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2B3 SWAP3 SWAP2 SWAP1 PUSH2 0x977 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 DUP2 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x2EE SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x9BA JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x310 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 ADD MLOAD SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH32 0x5245564552545F574954485F434F4E5354414E54000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0x256 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x9D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x256 SWAP1 PUSH2 0x9F2 JUMP JUMPDEST PUSH2 0x3E3 PUSH2 0x486 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH32 0x524551554952455F574954485F434F4E5354414E540000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0x256 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x9D8 JUMP JUMPDEST POP SWAP3 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 DUP2 SWAP1 SSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH2 0x3E3 PUSH2 0x4A6 JUMP JUMPDEST PUSH2 0x4D2 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x499 PUSH2 0x4A6 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4E4 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4FA JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x20 PUSH2 0x509 DUP2 DUP3 DUP5 MUL ADD PUSH2 0xADC JUMP JUMPDEST DUP3 DUP2 MSTORE SWAP3 POP DUP1 DUP4 ADD DUP5 DUP3 ADD PUSH1 0x0 JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x540 JUMPI PUSH2 0x52E DUP9 DUP6 DUP5 CALLDATALOAD DUP11 ADD ADD PUSH2 0x54B JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x517 JUMP JUMPDEST POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x55B JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x571 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x5A2 PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD PUSH2 0xADC JUMP JUMPDEST SWAP2 POP DUP1 DUP3 MSTORE DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x5B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP5 ADD CALLDATACOPY PUSH1 0x0 SWAP1 DUP3 ADD PUSH1 0x20 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5E3 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5ED PUSH1 0x80 PUSH2 0xADC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x608 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x614 DUP7 DUP4 DUP8 ADD PUSH2 0x54B JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH4 0xFFFFFFFF DUP3 AND DUP3 EQ PUSH2 0x62E JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x647 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x653 DUP7 DUP4 DUP8 ADD PUSH2 0x4D4 JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x66B JUMPI DUP3 DUP4 REVERT JUMPDEST POP PUSH2 0x678 DUP6 DUP3 DUP7 ADD PUSH2 0x54B JUMP JUMPDEST PUSH1 0x60 DUP5 ADD MSTORE POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x69D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x6A8 DUP2 PUSH2 0xB33 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH2 0x6C6 DUP2 PUSH2 0xB33 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP2 SWAP5 PUSH1 0x80 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x700 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70C DUP5 DUP3 DUP6 ADD PUSH2 0x4D4 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x72A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x742 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x769 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x780 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70C DUP5 DUP3 DUP6 ADD PUSH2 0x54B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x79D JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x7B4 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD PUSH1 0x40 DUP2 DUP8 SUB SLT ISZERO PUSH2 0x7C6 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x7D0 PUSH1 0x40 PUSH2 0xADC JUMP JUMPDEST SWAP3 POP DUP1 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x7E0 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x7EC DUP8 DUP3 DUP5 ADD PUSH2 0x5D2 JUMP JUMPDEST DUP5 MSTORE POP PUSH1 0x20 DUP2 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x800 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x80C DUP8 DUP3 DUP5 ADD PUSH2 0x54B JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MSTORE POP SWAP2 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x82E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x845 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70C DUP5 DUP3 DUP6 ADD PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x863 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x882 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xB03 JUMP JUMPDEST PUSH1 0x1F ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD PUSH1 0x80 DUP5 MSTORE PUSH2 0x8C9 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x86A JUMP JUMPDEST PUSH1 0x20 SWAP2 POP PUSH4 0xFFFFFFFF DUP3 DUP6 ADD MLOAD AND DUP3 DUP7 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD DUP6 DUP3 SUB PUSH1 0x40 DUP8 ADD MSTORE DUP2 DUP2 MLOAD DUP1 DUP5 MSTORE DUP5 DUP5 ADD SWAP2 POP DUP5 DUP6 DUP3 MUL DUP6 ADD ADD DUP6 DUP5 ADD PUSH1 0x0 SWAP5 POP JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x950 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP7 DUP4 SUB ADD DUP5 MSTORE PUSH2 0x93C DUP3 DUP3 MLOAD PUSH2 0x86A JUMP JUMPDEST PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP8 ADD SWAP4 SWAP2 POP DUP7 ADD PUSH2 0x902 JUMP JUMPDEST POP PUSH1 0x60 DUP9 ADD MLOAD SWAP6 POP DUP9 DUP2 SUB PUSH1 0x60 DUP11 ADD MSTORE PUSH2 0x96A DUP2 DUP8 PUSH2 0x86A JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x989 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xB03 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP2 DUP3 MSTORE POP PUSH1 0x20 ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0x9EB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x86A JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xD SWAP1 DUP3 ADD MSTORE PUSH32 0x53494D504C455F52455645525400000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xE SWAP1 DUP3 ADD MSTORE PUSH32 0x53494D504C455F52455155495245000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE DUP3 MLOAD PUSH1 0x40 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xA7C PUSH1 0x60 DUP5 ADD DUP3 PUSH2 0x8B4 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP5 DUP3 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0xAB7 DUP2 DUP4 PUSH2 0x86A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0x9EB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x8B4 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0xAFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xB1E JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xB06 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xB2D JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x25F JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG3 PUSH6 0x627A7A723058 KECCAK256 DUP9 DUP16 MLOAD 0xdb DUP12 0xe2 0xb6 0x5e 0xeb LOG0 PUSH28 0x18B43CDC6DAD5D8E6807EB4AA7F11E06F111742AEF6C657870657269 PUSH14 0x656E74616CF564736F6C63430005 EXP STOP BLOCKHASH ", - "sourceMap": "641:2757:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;641:2757:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1496:107;;;:::i;:::-;;2581:63;;;;;;;;;:::i;1726:334::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2419:52;;;;;;;1389:101;;;:::i;1286:97::-;;;:::i;3151:73::-;;;:::i;:::-;;;;;;;;1609:111;;;:::i;2214:166::-;;;;;;;;;:::i;2790:52::-;;;;;;;3250:72;;;:::i;:::-;;;;;;;;989:140;;;;;;;;;:::i;3327:69::-;;;:::i;862:121::-;;;:::i;3082:64::-;;;;;;;2924:63;;;:::i;:::-;;;;;;;;1135:145;;;:::i;1496:107::-;1564:32;;;;;;;;;;;;;;;;;;;2581:63;;:::o;1726:334::-;1837:21;1874:19;:56;;;;;;;;;;;;;;;;;;;1940:20;1990:6;1998:4;1973:30;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1973:30:0;;;1963:41;;;;;;1940:64;;2021:32;2031:12;2045:1;2048;2051;2021:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2021:32:0;;;;;;1726:334;-1:-1:-1;;;;;;;;1726:334:0:o;1389:101::-;1469:13;;;;;;;;;;;;;;;;1462:21;;;;;;;1469:13;1462:21;;;;1286:97;1353:23;;;;;;;;;;;3151:73;3201:19;;:::i;:::-;3151:73;:::o;1609:111::-;1698:14;;;;;;;;;;;;;;;;1683:30;;;;;;;1698:14;1683:30;;;;2214:166;-1:-1:-1;2372:1:0;;2214:166;-1:-1:-1;;;2214:166:0:o;3250:72::-;3290:4;3305:14;;3318:1;3305:14;;;;;3250:72;:::o;989:140::-;1117:1;:5;;989:140::o;3327:69::-;3379:9;:14;;3392:1;3379:14;;;3327:69::o;862:121::-;975:1;862:121;:::o;2924:63::-;2968:15;;:::i;1135:145::-;711:4;1135:145;:::o;641:2757::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;158:685:-1:-;;276:3;269:4;261:6;257:17;253:27;243:2;;-1:-1;;284:12;243:2;331:6;318:20;20177:18;20169:6;20166:30;20163:2;;;-1:-1;;20199:12;20163:2;20244:4;353:81;20307:4;20244;20236:6;20232:17;20297:15;353:81;;;462:21;;;344:90;-1:-1;519:14;;;494:17;;;614:1;599:238;624:6;621:1;618:13;599:238;;;731:42;769:3;506:4;707:3;694:17;498:6;682:30;;731:42;;;719:55;;788:14;;;;816;;;;646:1;639:9;599:238;;;603:14;;;;;236:607;;;;;1706:432;;1803:3;1796:4;1788:6;1784:17;1780:27;1770:2;;-1:-1;;1811:12;1770:2;1858:6;1845:20;20784:18;20776:6;20773:30;20770:2;;;-1:-1;;20806:12;20770:2;1880:60;20947:4;20879:9;1796:4;20864:6;20860:17;20856:33;20937:15;1880:60;;;1871:69;;1960:6;1953:5;1946:21;2064:3;20947:4;2055:6;1988;2046:16;;2043:25;2040:2;;;2081:1;;2071:12;2040:2;23898:6;20947:4;1988:6;1984:17;20947:4;2022:5;2018:16;23875:30;23954:1;23936:16;;;20947:4;23936:16;23929:27;2022:5;1763:375;-1:-1;;1763:375;3796:1071;;3904:4;3892:9;3887:3;3883:19;3879:30;3876:2;;;-1:-1;;3912:12;3876:2;3940:20;3904:4;3940:20;;;3931:29;;4043:1;4028:17;4015:31;4066:18;;4058:6;4055:30;4052:2;;;4098:1;4095;4088:12;4052:2;4132:54;4182:3;4173:6;4162:9;4158:22;4132:54;;;4115:15;4108:79;4253:2;4310:9;4306:22;6191:20;6182:29;;23705:10;24890:5;23694:22;24866:5;24863:34;24853:2;;24911:1;24908;24901:12;24853:2;4286:48;4253:2;4272:5;4268:16;4261:74;4440:2;4429:9;4425:18;4412:32;4398:46;;4464:18;4456:6;4453:30;4450:2;;;4496:1;4493;4486:12;4450:2;4531:75;4602:3;4593:6;4582:9;4578:22;4531:75;;;4440:2;4517:5;4513:16;4506:101;4699:2;4688:9;4684:18;4671:32;4657:46;;4723:18;4715:6;4712:30;4709:2;;;4755:1;4752;4745:12;4709:2;;4790:55;4841:3;4832:6;4821:9;4817:22;4790:55;;;4699:2;4776:5;4772:16;4765:81;;;3870:997;;;;;6393:743;;;;;;6565:3;6553:9;6544:7;6540:23;6536:33;6533:2;;;-1:-1;;6572:12;6533:2;85:6;72:20;97:33;124:5;97:33;;;6624:63;-1:-1;6724:2;6763:22;;6055:20;;-1:-1;6832:2;6871:22;;6055:20;;-1:-1;6940:2;6979:22;;72:20;97:33;72:20;97:33;;;6527:609;;;;-1:-1;6527:609;;7048:3;7088:22;6055:20;;6527:609;-1:-1;;6527:609;7143:387;;7277:2;7265:9;7256:7;7252:23;7248:32;7245:2;;;-1:-1;;7283:12;7245:2;7341:17;7328:31;7379:18;7371:6;7368:30;7365:2;;;-1:-1;;7401:12;7365:2;7431:83;7506:7;7497:6;7486:9;7482:22;7431:83;;;7421:93;7239:291;-1:-1;;;;7239:291;7537:613;;;;;7690:3;7678:9;7669:7;7665:23;7661:33;7658:2;;;-1:-1;;7697:12;7658:2;1648:6;1635:20;7749:63;;7849:2;7890:9;7886:22;6325:20;23799:4;25010:5;23788:16;24987:5;24984:33;24974:2;;-1:-1;;25021:12;24974:2;7652:498;;7857:61;;-1:-1;;;;7955:2;7994:22;;1635:20;;8063:2;8102:22;1635:20;;7652:498;8157:345;;8270:2;8258:9;8249:7;8245:23;8241:32;8238:2;;;-1:-1;;8276:12;8238:2;8334:17;8321:31;8372:18;8364:6;8361:30;8358:2;;;-1:-1;;8394:12;8358:2;8424:62;8478:7;8469:6;8458:9;8454:22;8424:62;;8509:385;;8642:2;8630:9;8621:7;8617:23;8613:32;8610:2;;;8658:1;8655;8648:12;8610:2;8706:17;8693:31;8744:18;;8736:6;8733:30;8730:2;;;8776:1;8773;8766:12;8730:2;8861:6;8850:9;8846:22;3194:4;3182:9;3177:3;3173:19;3169:30;3166:2;;;3212:1;3209;3202:12;3166:2;3230:20;3194:4;3230:20;;;3221:29;;3320:17;3307:31;3358:18;3350:6;3347:30;3344:2;;;3390:1;3387;3380:12;3344:2;3424:68;3488:3;3479:6;3468:9;3464:22;3424:68;;;3407:15;3400:93;;8642:2;3578:9;3574:18;3561:32;3613:18;3605:6;3602:30;3599:2;;;3645:1;3642;3635:12;3599:2;3680:55;3731:3;3722:6;3711:9;3707:22;3680:55;;;8642:2;3662:16;;3655:81;-1:-1;3666:5;;8604:290;-1:-1;;;;;8604:290;8901:373;;9028:2;9016:9;9007:7;9003:23;8999:32;8996:2;;;-1:-1;;9034:12;8996:2;9092:17;9079:31;9130:18;9122:6;9119:30;9116:2;;;-1:-1;;9152:12;9116:2;9182:76;9250:7;9241:6;9230:9;9226:22;9182:76;;9281:241;;9385:2;9373:9;9364:7;9360:23;9356:32;9353:2;;;-1:-1;;9391:12;9353:2;-1:-1;6055:20;;9347:175;-1:-1;9347:175;11364:315;;11488:5;21885:12;22545:6;22540:3;22533:19;11571:52;11616:6;22582:4;22577:3;22573:14;22582:4;11597:5;11593:16;11571:52;;;24416:2;24396:14;24412:7;24392:28;11635:39;;;;22582:4;11635:39;;11440:239;-1:-1;;11440:239;13930:1078;;14154:15;14148:22;14077:4;14190:13;14183:37;14235:67;14077:4;14072:3;14068:14;14283:12;14235:67;;;14392:4;;;23705:10;14392:4;14385:5;14381:16;14375:23;23694:22;14459:4;14454:3;14450:14;16326:36;14560:4;14553:5;14549:16;14543:23;14612:3;14606:4;14602:14;14560:4;14590:3;14586:14;14579:38;14632:109;10052:5;21885:12;22545:6;22540:3;22533:19;22582:4;22577:3;22573:14;10064:88;;14392:4;10217;10209:6;10205:17;22577:3;10196:27;;21747:4;10295:5;21738:14;-1:-1;10340:10;;10334:341;10359:6;10356:1;10353:13;10334:341;;;10411:20;22577:3;10415:4;10411:20;;10406:3;10399:33;9641:60;9697:3;10466:6;10460:13;9641:60;;;10381:1;10374:9;;;;;10654:14;;;;10480:82;-1:-1;22393:14;;10334:341;;;10338:14;14829:4;14822:5;14818:16;14812:23;14792:43;;14881:3;14875:4;14871:14;14829:4;14859:3;14855:14;14848:38;14901:69;14965:4;14951:12;14901:69;;;14992:11;14050:958;-1:-1;;;;;;;;;14050:958;16488:401;;11161:5;21885:12;11272:52;11317:6;11312:3;11305:4;11298:5;11294:16;11272:52;;;11336:16;;;;10793:37;;;-1:-1;11305:4;16852:12;;16641:248;-1:-1;16641:248;16896:213;23499:42;23488:54;;;;9786:37;;17014:2;16999:18;;16985:124;17116:539;10793:37;;;23799:4;23788:16;;;;17475:2;17460:18;;16441:35;17558:2;17543:18;;10793:37;17641:2;17626:18;;10793:37;17314:3;17299:19;;17285:370;17662:293;;17796:2;17817:17;17810:47;17871:74;17796:2;17785:9;17781:18;17931:6;17871:74;;;17863:82;17767:188;-1:-1;;;17767:188;17962:407;18153:2;18167:47;;;12583:2;18138:18;;;22533:19;12619:66;22573:14;;;12599:87;12705:12;;;18124:245;18376:407;18567:2;18581:47;;;12956:2;18552:18;;;22533:19;12992:66;22573:14;;;12972:87;13078:12;;;18538:245;18790:377;;18966:2;18987:17;18980:47;13415:15;13409:22;13336:4;18966:2;18955:9;18951:18;13444:37;13496:95;13327:14;18955:9;13327:14;13572:12;13496:95;;;18966:2;13676:5;13672:16;13666:23;13646:43;;13725:14;18955:9;13729:4;13725:14;;13336:4;18955:9;13709:14;13702:38;13755:69;13819:4;13805:12;13755:69;;;19033:124;18937:230;-1:-1;;;;;18937:230;19174:353;;19338:2;19359:17;19352:47;19413:104;19338:2;19327:9;19323:18;19503:6;19413:104;;19534:213;10793:37;;;19652:2;19637:18;;19623:124;19754:256;19816:2;19810:9;19842:17;;;19917:18;19902:34;;19938:22;;;19899:62;19896:2;;;19974:1;;19964:12;19896:2;19816;19983:22;19794:216;;-1:-1;19794:216;23971:268;24036:1;24043:101;24057:6;24054:1;24051:13;24043:101;;;24124:11;;;24118:18;24105:11;;;24098:39;24079:2;24072:10;24043:101;;;24159:6;24156:1;24153:13;24150:2;;;24036:1;24215:6;24210:3;24206:16;24199:27;24150:2;;24020:219;;;;24433:117;23499:42;24520:5;23488:54;24495:5;24492:35;24482:2;;24541:1;;24531:12" + "object": "0x608060405234801561001057600080fd5b50600436106101355760003560e01c806363d69c88116100b25780639a3b618511610081578063ae2dae1711610066578063ae2dae1714610227578063d6d7618c14610235578063d88be12f1461024a57610135565b80639a3b618514610217578063a3c2f6b61461021f57610135565b806363d69c88146101ce578063647341eb146101e157806376f15d5b146101ef5780638ee52b4e1461020457610135565b80633e9ef66a1161010957806345fdbdb7116100ee57806345fdbdb7146101a957806359c28add146101b15780635ba3c7c0146101c657610135565b80633e9ef66a146101935780634582eab2146101a157610135565b806209e4371461013a5780630527c28f146101445780632e1a7d4d1461015757806336b323961461016a575b600080fd5b610142610252565b005b610142610152366004610756565b61028d565b6101426101653660046108d0565b610290565b61017d610178366004610793565b6102e1565b60405161018a9190610a18565b60405180910390f35b6101426101523660046107d6565b6101426103c3565b610142610428565b6101b961045a565b60405161018a9190610adf565b610142610465565b61017d6101dc366004610704565b6104ca565b61014261015236600461089b565b6101f76104d3565b60405161018a9190610b52565b6101f76102123660046108d0565b6104e1565b6101426104e7565b6101f76104f2565b61014261015236600461080b565b61023d6104f7565b60405161018a9190610b3f565b6101f76104ff565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028490610aa8565b60405180910390fd5b50565b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040516102d69190610b52565b60405180910390a250565b600060606040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152509050600081876040516020016103329291906109f6565b6040516020818303038152906040528051906020012090506001818787876040516000815260200160405260405161036d9493929190610a39565b6020604051602081039080840390855afa15801561038f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015198975050505050505050565b604080518082018252601481527f5245564552545f574954485f434f4e5354414e54000000000000000000000000602082015290517f08c379a00000000000000000000000000000000000000000000000000000000081526102849190600401610a57565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028490610a71565b610462610505565b90565b604080518082018252601581527f524551554952455f574954485f434f4e5354414e540000000000000000000000602082015290517f08c379a00000000000000000000000000000000000000000000000000000000081526102849190600401610a57565b50929392505050565b600080546001019081905590565b60010190565b600080546001019055565b600190565b610462610525565b6104d290565b6040518060a00160405280610518610525565b8152602001606081525090565b604051806080016040528060608152602001600063ffffffff16815260200160608152602001606081525090565b600082601f830112610563578081fd5b813567ffffffffffffffff811115610579578182fd5b60206105888182840201610b5b565b828152925080830184820160005b848110156105bf576105ad888584358a01016105ca565b83529183019190830190600101610596565b505050505092915050565b600082601f8301126105da578081fd5b813567ffffffffffffffff8111156105f0578182fd5b61062160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610b5b565b915080825283602082850101111561063857600080fd5b8060208401602084013760009082016020015292915050565b600060808284031215610662578081fd5b61066c6080610b5b565b90506000823567ffffffffffffffff80821115610687578283fd5b610693868387016105ca565b84526020850135915063ffffffff821682146106ad578283fd5b81602085015260408501359150808211156106c6578283fd5b6106d286838701610553565b604085015260608501359150808211156106ea578283fd5b506106f7858286016105ca565b6060840152505092915050565b600080600080600060a0868803121561071c57600080fd5b853561072781610bb2565b94506020860135935060408601359250606086013561074581610bb2565b949793965091946080013592915050565b60006020828403121561076857600080fd5b813567ffffffffffffffff81111561077f57600080fd5b61078b84828501610553565b949350505050565b600080600080608085870312156107a957600080fd5b84359350602085013560ff811681146107c157600080fd5b93969395505050506040820135916060013590565b6000602082840312156107e857600080fd5b813567ffffffffffffffff8111156107ff57600080fd5b61078b848285016105ca565b60006020828403121561081c578081fd5b813567ffffffffffffffff80821115610833578283fd5b81840160408187031215610845578384fd5b61084f6040610b5b565b925080358281111561085f578485fd5b61086b87828401610651565b84525060208101358281111561087f578485fd5b61088b878284016105ca565b6020850152509195945050505050565b6000602082840312156108ad57600080fd5b813567ffffffffffffffff8111156108c457600080fd5b61078b84828501610651565b6000602082840312156108e257600080fd5b5035919050565b60008151808452610901816020860160208601610b82565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081516080845261094860808501826108e9565b6020915063ffffffff82850151168286015260408401518582036040870152818151808452848401915084858202850101858401600094505b828510156109cf577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08683030184526109bb8282516108e9565b600195909501949387019391508601610981565b506060880151955088810360608a01526109e981876108e9565b9998505050505050505050565b60008351610a08818460208801610b82565b9190910191825250602001919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b93845260ff9290921660208401526040830152606082015260800190565b600060208252610a6a60208301846108e9565b9392505050565b6020808252600d908201527f53494d504c455f52455645525400000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f53494d504c455f52455155495245000000000000000000000000000000000000604082015260600190565b600060208252825160406020840152610afb6060840182610933565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848203016040850152610b3681836108e9565b95945050505050565b600060208252610a6a6020830184610933565b90815260200190565b60405181810167ffffffffffffffff81118282101715610b7a57600080fd5b604052919050565b60005b83811015610b9d578181015183820152602001610b85565b83811115610bac576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461028d57600080fdfea365627a7a723058201a16b3cd19a115b5cfe3a42e5ddcd7a41b75f4a376a121a647cd429cbbf546266c6578706572696d656e74616cf564736f6c634300050a0040", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x135 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x63D69C88 GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0x9A3B6185 GT PUSH2 0x81 JUMPI DUP1 PUSH4 0xAE2DAE17 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xAE2DAE17 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0xD6D7618C EQ PUSH2 0x235 JUMPI DUP1 PUSH4 0xD88BE12F EQ PUSH2 0x24A JUMPI PUSH2 0x135 JUMP JUMPDEST DUP1 PUSH4 0x9A3B6185 EQ PUSH2 0x217 JUMPI DUP1 PUSH4 0xA3C2F6B6 EQ PUSH2 0x21F JUMPI PUSH2 0x135 JUMP JUMPDEST DUP1 PUSH4 0x63D69C88 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x647341EB EQ PUSH2 0x1E1 JUMPI DUP1 PUSH4 0x76F15D5B EQ PUSH2 0x1EF JUMPI DUP1 PUSH4 0x8EE52B4E EQ PUSH2 0x204 JUMPI PUSH2 0x135 JUMP JUMPDEST DUP1 PUSH4 0x3E9EF66A GT PUSH2 0x109 JUMPI DUP1 PUSH4 0x45FDBDB7 GT PUSH2 0xEE JUMPI DUP1 PUSH4 0x45FDBDB7 EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x59C28ADD EQ PUSH2 0x1B1 JUMPI DUP1 PUSH4 0x5BA3C7C0 EQ PUSH2 0x1C6 JUMPI PUSH2 0x135 JUMP JUMPDEST DUP1 PUSH4 0x3E9EF66A EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0x4582EAB2 EQ PUSH2 0x1A1 JUMPI PUSH2 0x135 JUMP JUMPDEST DUP1 PUSH3 0x9E437 EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0x527C28F EQ PUSH2 0x144 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x36B32396 EQ PUSH2 0x16A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x142 PUSH2 0x252 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x142 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x756 JUMP JUMPDEST PUSH2 0x28D JUMP JUMPDEST PUSH2 0x142 PUSH2 0x165 CALLDATASIZE PUSH1 0x4 PUSH2 0x8D0 JUMP JUMPDEST PUSH2 0x290 JUMP JUMPDEST PUSH2 0x17D PUSH2 0x178 CALLDATASIZE PUSH1 0x4 PUSH2 0x793 JUMP JUMPDEST PUSH2 0x2E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18A SWAP2 SWAP1 PUSH2 0xA18 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x142 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x7D6 JUMP JUMPDEST PUSH2 0x142 PUSH2 0x3C3 JUMP JUMPDEST PUSH2 0x142 PUSH2 0x428 JUMP JUMPDEST PUSH2 0x1B9 PUSH2 0x45A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18A SWAP2 SWAP1 PUSH2 0xADF JUMP JUMPDEST PUSH2 0x142 PUSH2 0x465 JUMP JUMPDEST PUSH2 0x17D PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0x704 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST PUSH2 0x142 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x89B JUMP JUMPDEST PUSH2 0x1F7 PUSH2 0x4D3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18A SWAP2 SWAP1 PUSH2 0xB52 JUMP JUMPDEST PUSH2 0x1F7 PUSH2 0x212 CALLDATASIZE PUSH1 0x4 PUSH2 0x8D0 JUMP JUMPDEST PUSH2 0x4E1 JUMP JUMPDEST PUSH2 0x142 PUSH2 0x4E7 JUMP JUMPDEST PUSH2 0x1F7 PUSH2 0x4F2 JUMP JUMPDEST PUSH2 0x142 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x80B JUMP JUMPDEST PUSH2 0x23D PUSH2 0x4F7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18A SWAP2 SWAP1 PUSH2 0xB3F JUMP JUMPDEST PUSH2 0x1F7 PUSH2 0x4FF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x284 SWAP1 PUSH2 0xAA8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x7FCF532C15F0A6DB0BD6D0E038BEA71D30D808C7D98CB3BF7268A95BF5081B65 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2D6 SWAP2 SWAP1 PUSH2 0xB52 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1C DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 DUP2 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x332 SWAP3 SWAP2 SWAP1 PUSH2 0x9F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 DUP2 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x36D SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xA39 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x38F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 ADD MLOAD SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH32 0x5245564552545F574954485F434F4E5354414E54000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0x284 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0xA57 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x284 SWAP1 PUSH2 0xA71 JUMP JUMPDEST PUSH2 0x462 PUSH2 0x505 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH32 0x524551554952455F574954485F434F4E5354414E540000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0x284 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0xA57 JUMP JUMPDEST POP SWAP3 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 DUP2 SWAP1 SSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH2 0x462 PUSH2 0x525 JUMP JUMPDEST PUSH2 0x4D2 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x518 PUSH2 0x525 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x563 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x579 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x20 PUSH2 0x588 DUP2 DUP3 DUP5 MUL ADD PUSH2 0xB5B JUMP JUMPDEST DUP3 DUP2 MSTORE SWAP3 POP DUP1 DUP4 ADD DUP5 DUP3 ADD PUSH1 0x0 JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x5BF JUMPI PUSH2 0x5AD DUP9 DUP6 DUP5 CALLDATALOAD DUP11 ADD ADD PUSH2 0x5CA JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x596 JUMP JUMPDEST POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5DA JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5F0 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x621 PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD PUSH2 0xB5B JUMP JUMPDEST SWAP2 POP DUP1 DUP3 MSTORE DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x638 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP5 ADD CALLDATACOPY PUSH1 0x0 SWAP1 DUP3 ADD PUSH1 0x20 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x662 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x66C PUSH1 0x80 PUSH2 0xB5B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x687 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x693 DUP7 DUP4 DUP8 ADD PUSH2 0x5CA JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH4 0xFFFFFFFF DUP3 AND DUP3 EQ PUSH2 0x6AD JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x6C6 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x6D2 DUP7 DUP4 DUP8 ADD PUSH2 0x553 JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x6EA JUMPI DUP3 DUP4 REVERT JUMPDEST POP PUSH2 0x6F7 DUP6 DUP3 DUP7 ADD PUSH2 0x5CA JUMP JUMPDEST PUSH1 0x60 DUP5 ADD MSTORE POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x71C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x727 DUP2 PUSH2 0xBB2 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH2 0x745 DUP2 PUSH2 0xBB2 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP2 SWAP5 PUSH1 0x80 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x768 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x77F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78B DUP5 DUP3 DUP6 ADD PUSH2 0x553 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x7A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x7C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78B DUP5 DUP3 DUP6 ADD PUSH2 0x5CA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x81C JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x833 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD PUSH1 0x40 DUP2 DUP8 SUB SLT ISZERO PUSH2 0x845 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x84F PUSH1 0x40 PUSH2 0xB5B JUMP JUMPDEST SWAP3 POP DUP1 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x85F JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x86B DUP8 DUP3 DUP5 ADD PUSH2 0x651 JUMP JUMPDEST DUP5 MSTORE POP PUSH1 0x20 DUP2 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x87F JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x88B DUP8 DUP3 DUP5 ADD PUSH2 0x5CA JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MSTORE POP SWAP2 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x8C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78B DUP5 DUP3 DUP6 ADD PUSH2 0x651 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x901 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xB82 JUMP JUMPDEST PUSH1 0x1F ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD PUSH1 0x80 DUP5 MSTORE PUSH2 0x948 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x8E9 JUMP JUMPDEST PUSH1 0x20 SWAP2 POP PUSH4 0xFFFFFFFF DUP3 DUP6 ADD MLOAD AND DUP3 DUP7 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD DUP6 DUP3 SUB PUSH1 0x40 DUP8 ADD MSTORE DUP2 DUP2 MLOAD DUP1 DUP5 MSTORE DUP5 DUP5 ADD SWAP2 POP DUP5 DUP6 DUP3 MUL DUP6 ADD ADD DUP6 DUP5 ADD PUSH1 0x0 SWAP5 POP JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x9CF JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP7 DUP4 SUB ADD DUP5 MSTORE PUSH2 0x9BB DUP3 DUP3 MLOAD PUSH2 0x8E9 JUMP JUMPDEST PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP8 ADD SWAP4 SWAP2 POP DUP7 ADD PUSH2 0x981 JUMP JUMPDEST POP PUSH1 0x60 DUP9 ADD MLOAD SWAP6 POP DUP9 DUP2 SUB PUSH1 0x60 DUP11 ADD MSTORE PUSH2 0x9E9 DUP2 DUP8 PUSH2 0x8E9 JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0xA08 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xB82 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP2 DUP3 MSTORE POP PUSH1 0x20 ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0xA6A PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x8E9 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xD SWAP1 DUP3 ADD MSTORE PUSH32 0x53494D504C455F52455645525400000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xE SWAP1 DUP3 ADD MSTORE PUSH32 0x53494D504C455F52455155495245000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE DUP3 MLOAD PUSH1 0x40 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xAFB PUSH1 0x60 DUP5 ADD DUP3 PUSH2 0x933 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP5 DUP3 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0xB36 DUP2 DUP4 PUSH2 0x8E9 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0xA6A PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x933 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0xB7A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xB9D JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xB85 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xBAC JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x28D JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG3 PUSH6 0x627A7A723058 KECCAK256 BYTE AND 0xb3 0xcd NOT LOG1 ISZERO 0xb5 0xcf 0xe3 LOG4 0x2e 0x5d 0xdc 0xd7 LOG4 SHL PUSH22 0xF4A376A121A647CD429CBBF546266C6578706572696D PUSH6 0x6E74616CF564 PUSH20 0x6F6C634300050A00400000000000000000000000 ", + "sourceMap": "641:2908:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;641:2908:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1496:107;;;:::i;:::-;;2732:63;;;;;;;;;:::i;2127:84::-;;;;;;;;;:::i;1726:334::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2570:52;;;;;;;1389:101;;;:::i;1286:97::-;;;:::i;3302:73::-;;;:::i;:::-;;;;;;;;1609:111;;;:::i;2365:166::-;;;;;;;;;:::i;2941:52::-;;;;;;;3401:72;;;:::i;:::-;;;;;;;;989:140;;;;;;;;;:::i;3478:69::-;;;:::i;862:121::-;;;:::i;3233:64::-;;;;;;;3075:63;;;:::i;:::-;;;;;;;;1135:145;;;:::i;1496:107::-;1564:32;;;;;;;;;;;;;;;;;;;2732:63;;:::o;2127:84::-;2188:10;2177:27;;;2200:3;2177:27;;;;;;;;;;;;;;;2127:84;:::o;1726:334::-;1837:21;1874:19;:56;;;;;;;;;;;;;;;;;;;1940:20;1990:6;1998:4;1973:30;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1973:30:0;;;1963:41;;;;;;1940:64;;2021:32;2031:12;2045:1;2048;2051;2021:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2021:32:0;;;;;;1726:334;-1:-1:-1;;;;;;;;1726:334:0:o;1389:101::-;1469:13;;;;;;;;;;;;;;;;1462:21;;;;;;;1469:13;1462:21;;;;1286:97;1353:23;;;;;;;;;;;3302:73;3352:19;;:::i;:::-;3302:73;:::o;1609:111::-;1698:14;;;;;;;;;;;;;;;;1683:30;;;;;;;1698:14;1683:30;;;;2365:166;-1:-1:-1;2523:1:0;;2365:166;-1:-1:-1;;;2365:166:0:o;3401:72::-;3441:4;3456:14;;3469:1;3456:14;;;;;3401:72;:::o;989:140::-;1117:1;:5;;989:140::o;3478:69::-;3530:9;:14;;3543:1;3530:14;;;3478:69::o;862:121::-;975:1;862:121;:::o;3075:63::-;3119:15;;:::i;1135:145::-;711:4;1135:145;:::o;641:2908::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;158:685:-1:-;;276:3;269:4;261:6;257:17;253:27;243:2;;-1:-1;;284:12;243:2;331:6;318:20;20177:18;20169:6;20166:30;20163:2;;;-1:-1;;20199:12;20163:2;20244:4;353:81;20307:4;20244;20236:6;20232:17;20297:15;353:81;;;462:21;;;344:90;-1:-1;519:14;;;494:17;;;614:1;599:238;624:6;621:1;618:13;599:238;;;731:42;769:3;506:4;707:3;694:17;498:6;682:30;;731:42;;;719:55;;788:14;;;;816;;;;646:1;639:9;599:238;;;603:14;;;;;236:607;;;;;1706:432;;1803:3;1796:4;1788:6;1784:17;1780:27;1770:2;;-1:-1;;1811:12;1770:2;1858:6;1845:20;20784:18;20776:6;20773:30;20770:2;;;-1:-1;;20806:12;20770:2;1880:60;20947:4;20879:9;1796:4;20864:6;20860:17;20856:33;20937:15;1880:60;;;1871:69;;1960:6;1953:5;1946:21;2064:3;20947:4;2055:6;1988;2046:16;;2043:25;2040:2;;;2081:1;;2071:12;2040:2;23898:6;20947:4;1988:6;1984:17;20947:4;2022:5;2018:16;23875:30;23954:1;23936:16;;;20947:4;23936:16;23929:27;2022:5;1763:375;-1:-1;;1763:375;3796:1071;;3904:4;3892:9;3887:3;3883:19;3879:30;3876:2;;;-1:-1;;3912:12;3876:2;3940:20;3904:4;3940:20;;;3931:29;;4043:1;4028:17;4015:31;4066:18;;4058:6;4055:30;4052:2;;;4098:1;4095;4088:12;4052:2;4132:54;4182:3;4173:6;4162:9;4158:22;4132:54;;;4115:15;4108:79;4253:2;4310:9;4306:22;6191:20;6182:29;;23705:10;24890:5;23694:22;24866:5;24863:34;24853:2;;24911:1;24908;24901:12;24853:2;4286:48;4253:2;4272:5;4268:16;4261:74;4440:2;4429:9;4425:18;4412:32;4398:46;;4464:18;4456:6;4453:30;4450:2;;;4496:1;4493;4486:12;4450:2;4531:75;4602:3;4593:6;4582:9;4578:22;4531:75;;;4440:2;4517:5;4513:16;4506:101;4699:2;4688:9;4684:18;4671:32;4657:46;;4723:18;4715:6;4712:30;4709:2;;;4755:1;4752;4745:12;4709:2;;4790:55;4841:3;4832:6;4821:9;4817:22;4790:55;;;4699:2;4776:5;4772:16;4765:81;;;3870:997;;;;;6393:743;;;;;;6565:3;6553:9;6544:7;6540:23;6536:33;6533:2;;;-1:-1;;6572:12;6533:2;85:6;72:20;97:33;124:5;97:33;;;6624:63;-1:-1;6724:2;6763:22;;6055:20;;-1:-1;6832:2;6871:22;;6055:20;;-1:-1;6940:2;6979:22;;72:20;97:33;72:20;97:33;;;6527:609;;;;-1:-1;6527:609;;7048:3;7088:22;6055:20;;6527:609;-1:-1;;6527:609;7143:387;;7277:2;7265:9;7256:7;7252:23;7248:32;7245:2;;;-1:-1;;7283:12;7245:2;7341:17;7328:31;7379:18;7371:6;7368:30;7365:2;;;-1:-1;;7401:12;7365:2;7431:83;7506:7;7497:6;7486:9;7482:22;7431:83;;;7421:93;7239:291;-1:-1;;;;7239:291;7537:613;;;;;7690:3;7678:9;7669:7;7665:23;7661:33;7658:2;;;-1:-1;;7697:12;7658:2;1648:6;1635:20;7749:63;;7849:2;7890:9;7886:22;6325:20;23799:4;25010:5;23788:16;24987:5;24984:33;24974:2;;-1:-1;;25021:12;24974:2;7652:498;;7857:61;;-1:-1;;;;7955:2;7994:22;;1635:20;;8063:2;8102:22;1635:20;;7652:498;8157:345;;8270:2;8258:9;8249:7;8245:23;8241:32;8238:2;;;-1:-1;;8276:12;8238:2;8334:17;8321:31;8372:18;8364:6;8361:30;8358:2;;;-1:-1;;8394:12;8358:2;8424:62;8478:7;8469:6;8458:9;8454:22;8424:62;;8509:385;;8642:2;8630:9;8621:7;8617:23;8613:32;8610:2;;;8658:1;8655;8648:12;8610:2;8706:17;8693:31;8744:18;;8736:6;8733:30;8730:2;;;8776:1;8773;8766:12;8730:2;8861:6;8850:9;8846:22;3194:4;3182:9;3177:3;3173:19;3169:30;3166:2;;;3212:1;3209;3202:12;3166:2;3230:20;3194:4;3230:20;;;3221:29;;3320:17;3307:31;3358:18;3350:6;3347:30;3344:2;;;3390:1;3387;3380:12;3344:2;3424:68;3488:3;3479:6;3468:9;3464:22;3424:68;;;3407:15;3400:93;;8642:2;3578:9;3574:18;3561:32;3613:18;3605:6;3602:30;3599:2;;;3645:1;3642;3635:12;3599:2;3680:55;3731:3;3722:6;3711:9;3707:22;3680:55;;;8642:2;3662:16;;3655:81;-1:-1;3666:5;;8604:290;-1:-1;;;;;8604:290;8901:373;;9028:2;9016:9;9007:7;9003:23;8999:32;8996:2;;;-1:-1;;9034:12;8996:2;9092:17;9079:31;9130:18;9122:6;9119:30;9116:2;;;-1:-1;;9152:12;9116:2;9182:76;9250:7;9241:6;9230:9;9226:22;9182:76;;9281:241;;9385:2;9373:9;9364:7;9360:23;9356:32;9353:2;;;-1:-1;;9391:12;9353:2;-1:-1;6055:20;;9347:175;-1:-1;9347:175;11364:315;;11488:5;21885:12;22545:6;22540:3;22533:19;11571:52;11616:6;22582:4;22577:3;22573:14;22582:4;11597:5;11593:16;11571:52;;;24416:2;24396:14;24412:7;24392:28;11635:39;;;;22582:4;11635:39;;11440:239;-1:-1;;11440:239;13930:1078;;14154:15;14148:22;14077:4;14190:13;14183:37;14235:67;14077:4;14072:3;14068:14;14283:12;14235:67;;;14392:4;;;23705:10;14392:4;14385:5;14381:16;14375:23;23694:22;14459:4;14454:3;14450:14;16326:36;14560:4;14553:5;14549:16;14543:23;14612:3;14606:4;14602:14;14560:4;14590:3;14586:14;14579:38;14632:109;10052:5;21885:12;22545:6;22540:3;22533:19;22582:4;22577:3;22573:14;10064:88;;14392:4;10217;10209:6;10205:17;22577:3;10196:27;;21747:4;10295:5;21738:14;-1:-1;10340:10;;10334:341;10359:6;10356:1;10353:13;10334:341;;;10411:20;22577:3;10415:4;10411:20;;10406:3;10399:33;9641:60;9697:3;10466:6;10460:13;9641:60;;;10381:1;10374:9;;;;;10654:14;;;;10480:82;-1:-1;22393:14;;10334:341;;;10338:14;14829:4;14822:5;14818:16;14812:23;14792:43;;14881:3;14875:4;14871:14;14829:4;14859:3;14855:14;14848:38;14901:69;14965:4;14951:12;14901:69;;;14992:11;14050:958;-1:-1;;;;;;;;;14050:958;16488:401;;11161:5;21885:12;11272:52;11317:6;11312:3;11305:4;11298:5;11294:16;11272:52;;;11336:16;;;;10793:37;;;-1:-1;11305:4;16852:12;;16641:248;-1:-1;16641:248;16896:213;23499:42;23488:54;;;;9786:37;;17014:2;16999:18;;16985:124;17116:539;10793:37;;;23799:4;23788:16;;;;17475:2;17460:18;;16441:35;17558:2;17543:18;;10793:37;17641:2;17626:18;;10793:37;17314:3;17299:19;;17285:370;17662:293;;17796:2;17817:17;17810:47;17871:74;17796:2;17785:9;17781:18;17931:6;17871:74;;;17863:82;17767:188;-1:-1;;;17767:188;17962:407;18153:2;18167:47;;;12583:2;18138:18;;;22533:19;12619:66;22573:14;;;12599:87;12705:12;;;18124:245;18376:407;18567:2;18581:47;;;12956:2;18552:18;;;22533:19;12992:66;22573:14;;;12972:87;13078:12;;;18538:245;18790:377;;18966:2;18987:17;18980:47;13415:15;13409:22;13336:4;18966:2;18955:9;18951:18;13444:37;13496:95;13327:14;18955:9;13327:14;13572:12;13496:95;;;18966:2;13676:5;13672:16;13666:23;13646:43;;13725:14;18955:9;13729:4;13725:14;;13336:4;18955:9;13709:14;13702:38;13755:69;13819:4;13805:12;13755:69;;;19033:124;18937:230;-1:-1;;;;;18937:230;19174:353;;19338:2;19359:17;19352:47;19413:104;19338:2;19327:9;19323:18;19503:6;19413:104;;19534:213;10793:37;;;19652:2;19637:18;;19623:124;19754:256;19816:2;19810:9;19842:17;;;19917:18;19902:34;;19938:22;;;19899:62;19896:2;;;19974:1;;19964:12;19896:2;19816;19983:22;19794:216;;-1:-1;19794:216;23971:268;24036:1;24043:101;24057:6;24054:1;24051:13;24043:101;;;24124:11;;;24118:18;24105:11;;;24098:39;24079:2;24072:10;24043:101;;;24159:6;24156:1;24153:13;24150:2;;;24036:1;24215:6;24210:3;24206:16;24199:27;24150:2;;24020:219;;;;24433:117;23499:42;24520:5;23488:54;24495:5;24492:35;24482:2;;24541:1;;24531:12" } } }, @@ -399,9 +430,9 @@ } }, "sourceCodes": { - "AbiGenDummy.sol": "/*\n\n Copyright 2018 ZeroEx Intl.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma experimental ABIEncoderV2;\n\npragma solidity ^0.5.5;\n\n\ncontract AbiGenDummy\n{\n\n uint256 constant internal SOME_CONSTANT = 1234;\n string constant internal REVERT_REASON = \"REVERT_WITH_CONSTANT\";\n string constant internal REQUIRE_REASON = \"REQUIRE_WITH_CONSTANT\";\n\n function simplePureFunction ()\n public\n pure\n returns (uint256 result)\n {\n return 1;\n }\n\n function simplePureFunctionWithInput (uint256 x)\n public\n pure\n returns (uint256 sum)\n {\n return 1 + x;\n }\n\n function pureFunctionWithConstant ()\n public\n pure\n returns (uint256 someConstant)\n {\n return SOME_CONSTANT;\n }\n\n function simpleRevert ()\n public\n pure\n {\n revert(\"SIMPLE_REVERT\");\n }\n\n function revertWithConstant ()\n public\n pure\n {\n revert(REVERT_REASON);\n }\n\n function simpleRequire ()\n public\n pure\n {\n require(0 > 1, \"SIMPLE_REQUIRE\");\n }\n\n function requireWithConstant ()\n public\n pure\n {\n require(0 > 1, REQUIRE_REASON);\n }\n\n function ecrecoverFn(bytes32 hash, uint8 v, bytes32 r, bytes32 s)\n public\n pure\n returns (address signerAddress)\n {\n bytes memory prefix = \"\\x19Ethereum Signed Message:\\n32\";\n bytes32 prefixedHash = keccak256(abi.encodePacked(prefix, hash));\n return ecrecover(prefixedHash, v, r, s);\n }\n\n // test: generated code should normalize address inputs to lowercase\n // add extra inputs to make sure it works with address in any position\n function withAddressInput(address x, uint256 a, uint256 b, address y, uint256 c)\n public\n pure\n returns (address z)\n {\n return x;\n }\n\n event AnEvent(uint8 param);\n\n function acceptsBytes(bytes memory a) public pure {}\n\n /// @dev a method that accepts an array of bytes\n /// @param a the array of bytes being accepted\n function acceptsAnArrayOfBytes(bytes[] memory a) public pure {}\n\n struct Struct {\n bytes someBytes;\n uint32 anInteger;\n bytes[] aDynamicArrayOfBytes;\n string aString;\n }\n\n function structInput(Struct memory s) public pure {}\n\n /// @dev a method that returns a struct\n /// @return a Struct struct\n function structOutput() public pure returns(Struct memory s) {}\n\n struct NestedStruct {\n Struct innerStruct;\n string description;\n }\n\n function nestedStructInput(NestedStruct memory n) public pure {}\n function nestedStructOutput() public pure returns(NestedStruct memory) {}\n\n uint someState;\n function nonPureMethod() public returns(uint) { return someState += 1; }\n function nonPureMethodThatReturnsNothing() public { someState += 1; }\n}\n" + "AbiGenDummy.sol": "/*\n\n Copyright 2018 ZeroEx Intl.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma experimental ABIEncoderV2;\n\npragma solidity ^0.5.5;\n\n\ncontract AbiGenDummy\n{\n\n uint256 constant internal SOME_CONSTANT = 1234;\n string constant internal REVERT_REASON = \"REVERT_WITH_CONSTANT\";\n string constant internal REQUIRE_REASON = \"REQUIRE_WITH_CONSTANT\";\n\n function simplePureFunction ()\n public\n pure\n returns (uint256 result)\n {\n return 1;\n }\n\n function simplePureFunctionWithInput (uint256 x)\n public\n pure\n returns (uint256 sum)\n {\n return 1 + x;\n }\n\n function pureFunctionWithConstant ()\n public\n pure\n returns (uint256 someConstant)\n {\n return SOME_CONSTANT;\n }\n\n function simpleRevert ()\n public\n pure\n {\n revert(\"SIMPLE_REVERT\");\n }\n\n function revertWithConstant ()\n public\n pure\n {\n revert(REVERT_REASON);\n }\n\n function simpleRequire ()\n public\n pure\n {\n require(0 > 1, \"SIMPLE_REQUIRE\");\n }\n\n function requireWithConstant ()\n public\n pure\n {\n require(0 > 1, REQUIRE_REASON);\n }\n\n function ecrecoverFn(bytes32 hash, uint8 v, bytes32 r, bytes32 s)\n public\n pure\n returns (address signerAddress)\n {\n bytes memory prefix = \"\\x19Ethereum Signed Message:\\n32\";\n bytes32 prefixedHash = keccak256(abi.encodePacked(prefix, hash));\n return ecrecover(prefixedHash, v, r, s);\n }\n\n event Withdrawal(address indexed _owner, uint _value);\n\n function withdraw(uint wad) public {\n emit Withdrawal(msg.sender, wad);\n }\n\n // test: generated code should normalize address inputs to lowercase\n // add extra inputs to make sure it works with address in any position\n function withAddressInput(address x, uint256 a, uint256 b, address y, uint256 c)\n public\n pure\n returns (address z)\n {\n return x;\n }\n\n event AnEvent(uint8 param);\n\n function acceptsBytes(bytes memory a) public pure {}\n\n /// @dev a method that accepts an array of bytes\n /// @param a the array of bytes being accepted\n function acceptsAnArrayOfBytes(bytes[] memory a) public pure {}\n\n struct Struct {\n bytes someBytes;\n uint32 anInteger;\n bytes[] aDynamicArrayOfBytes;\n string aString;\n }\n\n function structInput(Struct memory s) public pure {}\n\n /// @dev a method that returns a struct\n /// @return a Struct struct\n function structOutput() public pure returns(Struct memory s) {}\n\n struct NestedStruct {\n Struct innerStruct;\n string description;\n }\n\n function nestedStructInput(NestedStruct memory n) public pure {}\n function nestedStructOutput() public pure returns(NestedStruct memory) {}\n\n uint someState;\n function nonPureMethod() public returns(uint) { return someState += 1; }\n function nonPureMethodThatReturnsNothing() public { someState += 1; }\n}\n" }, - "sourceTreeHashHex": "0xafbcbb2a469a1062791f49abdf3076b97d06d1994fbaf9f07f46a4fe95e07880", + "sourceTreeHashHex": "0xaeec8bc1cd7fb6274f7bf4e0ea5117961795285e57c882a62c375e14f59f1bab", "compiler": { "name": "solc", "version": "soljson-v0.5.10+commit.5a6ea5b1.js", diff --git a/packages/abi-gen/test-cli/fixtures/contracts/AbiGenDummy.sol b/packages/abi-gen/test-cli/fixtures/contracts/AbiGenDummy.sol index d5fb6250b2..4531338200 100644 --- a/packages/abi-gen/test-cli/fixtures/contracts/AbiGenDummy.sol +++ b/packages/abi-gen/test-cli/fixtures/contracts/AbiGenDummy.sol @@ -90,6 +90,12 @@ contract AbiGenDummy return ecrecover(prefixedHash, v, r, s); } + event Withdrawal(address indexed _owner, uint _value); + + function withdraw(uint wad) public { + emit Withdrawal(msg.sender, wad); + } + // test: generated code should normalize address inputs to lowercase // add extra inputs to make sure it works with address in any position function withAddressInput(address x, uint256 a, uint256 b, address y, uint256 c) diff --git a/packages/abi-gen/test-cli/test_typescript/test/abi_gen_dummy_test.ts b/packages/abi-gen/test-cli/test_typescript/test/abi_gen_dummy_test.ts index ec12d5c55a..6f145a6a4f 100644 --- a/packages/abi-gen/test-cli/test_typescript/test/abi_gen_dummy_test.ts +++ b/packages/abi-gen/test-cli/test_typescript/test/abi_gen_dummy_test.ts @@ -7,8 +7,9 @@ import * as chai from 'chai'; import * as chaiAsPromised from 'chai-as-promised'; import * as ChaiBigNumber from 'chai-bignumber'; import * as dirtyChai from 'dirty-chai'; +import * as Sinon from 'sinon'; -import { AbiGenDummyContract, artifacts, TestLibDummyContract } from '../src'; +import { AbiGenDummyContract, AbiGenDummyEvents, artifacts, TestLibDummyContract } from '../src'; const txDefaults = { from: devConstants.TESTRPC_FIRST_ADDRESS, @@ -92,6 +93,36 @@ describe('AbiGenDummy Contract', () => { }); }); + describe('event subscription', () => { + const indexFilterValues = {}; + const emptyCallback = () => {}; // tslint:disable-line:no-empty + let stubs: Sinon.SinonStub[] = []; + + afterEach(() => { + stubs.forEach(s => s.restore()); + stubs = []; + }); + it('should return a subscription token', done => { + const subscriptionToken = abiGenDummy.subscribe( + AbiGenDummyEvents.Withdrawal, + indexFilterValues, + emptyCallback, + ); + expect(subscriptionToken).to.be.a('string'); + done(); + }); + it('should allow unsubscribeAll to be called successfully after an error', done => { + abiGenDummy.subscribe(AbiGenDummyEvents.Withdrawal, indexFilterValues, emptyCallback); + stubs.push( + Sinon.stub((abiGenDummy as any)._web3Wrapper, 'getBlockIfExistsAsync').throws( + new Error('JSON RPC error'), + ), + ); + abiGenDummy.unsubscribeAll(); + done(); + }); + }); + describe('withAddressInput', () => { it('should normalize address inputs to lowercase', async () => { const xAddress = devConstants.TESTRPC_FIRST_ADDRESS.toUpperCase(); diff --git a/packages/base-contract/CHANGELOG.json b/packages/base-contract/CHANGELOG.json index 29cf2b5218..905177bbe8 100644 --- a/packages/base-contract/CHANGELOG.json +++ b/packages/base-contract/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "5.2.0", + "changes": [ + { + "note": "Add SubscriptionManager", + "pr": 1970 + } + ] + }, { "timestamp": 1563957393, "version": "5.1.2", diff --git a/packages/base-contract/package.json b/packages/base-contract/package.json index 4b1c223c6c..e446571b20 100644 --- a/packages/base-contract/package.json +++ b/packages/base-contract/package.json @@ -48,8 +48,12 @@ "@0x/utils": "^4.4.1", "@0x/web3-wrapper": "^6.0.8", "ethereum-types": "^2.1.4", + "ethereumjs-blockstream": "6.0.0", + "ethereumjs-util": "^5.1.1", "ethers": "~4.0.4", - "lodash": "^4.17.11" + "js-sha3": "^0.7.0", + "lodash": "^4.17.11", + "uuid": "^3.3.2" }, "publishConfig": { "access": "public" diff --git a/packages/base-contract/src/index.ts b/packages/base-contract/src/index.ts index 156d5341e0..cf7dffede3 100644 --- a/packages/base-contract/src/index.ts +++ b/packages/base-contract/src/index.ts @@ -19,6 +19,10 @@ import * as _ from 'lodash'; import { formatABIDataItem } from './utils'; +export { SubscriptionManager } from './subscription_manager'; + +export * from './types'; + export interface AbiEncoderByFunctionSignature { [key: string]: AbiEncoder.Method; } diff --git a/packages/contract-wrappers/src/contract_wrappers/contract_wrapper.ts b/packages/base-contract/src/subscription_manager.ts similarity index 82% rename from packages/contract-wrappers/src/contract_wrappers/contract_wrapper.ts rename to packages/base-contract/src/subscription_manager.ts index de4112bc41..ad7e6067a0 100644 --- a/packages/contract-wrappers/src/contract_wrappers/contract_wrapper.ts +++ b/packages/base-contract/src/subscription_manager.ts @@ -12,24 +12,16 @@ import { import { Block, BlockAndLogStreamer, Log } from 'ethereumjs-blockstream'; import * as _ from 'lodash'; -import { - BlockRange, - ContractEventArgs, - ContractEvents, - ContractWrappersError, - EventCallback, - IndexedFilterValues, -} from '../types'; -import { constants } from '../utils/constants'; -import { filterUtils } from '../utils/filter_utils'; +import { BlockRange, EventCallback, IndexedFilterValues, SubscriptionErrors } from './types'; +import { filterUtils } from './utils/filter_utils'; -export abstract class ContractWrapper { - public abstract abi: ContractAbi; - protected _networkId: number; - protected _web3Wrapper: Web3Wrapper; +const DEFAULT_BLOCK_POLLING_INTERVAL = 1000; + +export class SubscriptionManager { + public abi: ContractAbi; private _blockAndLogStreamerIfExists: BlockAndLogStreamer | undefined; - private readonly _blockPollingIntervalMs: number; private _blockAndLogStreamIntervalIfExists?: NodeJS.Timer; + private readonly _web3Wrapper: Web3Wrapper; private readonly _filters: { [filterToken: string]: FilterObject }; private readonly _filterCallbacks: { [filterToken: string]: EventCallback; @@ -43,26 +35,24 @@ export abstract class ContractWrapper { logUtils.warn(err); } } - constructor(web3Wrapper: Web3Wrapper, networkId: number, blockPollingIntervalMs?: number) { + constructor(abi: ContractAbi, web3Wrapper: Web3Wrapper) { + this.abi = abi; this._web3Wrapper = web3Wrapper; - this._networkId = networkId; - this._blockPollingIntervalMs = - blockPollingIntervalMs === undefined ? constants.DEFAULT_BLOCK_POLLING_INTERVAL : blockPollingIntervalMs; this._filters = {}; this._filterCallbacks = {}; this._blockAndLogStreamerIfExists = undefined; this._onLogAddedSubscriptionToken = undefined; this._onLogRemovedSubscriptionToken = undefined; } - protected _unsubscribeAll(): void { + public unsubscribeAll(): void { const filterTokens = _.keys(this._filterCallbacks); _.each(filterTokens, filterToken => { - this._unsubscribe(filterToken); + this.unsubscribe(filterToken); }); } - protected _unsubscribe(filterToken: string, err?: Error): void { + public unsubscribe(filterToken: string, err?: Error): void { if (this._filters[filterToken] === undefined) { - throw new Error(ContractWrappersError.SubscriptionNotFound); + throw new Error(SubscriptionErrors.SubscriptionNotFound); } if (err !== undefined) { const callback = this._filterCallbacks[filterToken]; @@ -74,24 +64,25 @@ export abstract class ContractWrapper { this._stopBlockAndLogStream(); } } - protected _subscribe( + public subscribe( address: string, eventName: ContractEvents, indexFilterValues: IndexedFilterValues, abi: ContractAbi, callback: EventCallback, isVerbose: boolean = false, + blockPollingIntervalMs?: number, ): string { const filter = filterUtils.getFilter(address, eventName, indexFilterValues, abi); if (this._blockAndLogStreamerIfExists === undefined) { - this._startBlockAndLogStream(isVerbose); + this._startBlockAndLogStream(isVerbose, blockPollingIntervalMs); } const filterToken = filterUtils.generateUUID(); this._filters[filterToken] = filter; this._filterCallbacks[filterToken] = callback as EventCallback; return filterToken; } - protected async _getLogsAsync( + public async getLogsAsync( address: string, eventName: ContractEvents, blockRange: BlockRange, @@ -123,21 +114,23 @@ export abstract class ContractWrapper { } }); } - private _startBlockAndLogStream(isVerbose: boolean): void { + private _startBlockAndLogStream(isVerbose: boolean, blockPollingIntervalMs?: number): void { if (this._blockAndLogStreamerIfExists !== undefined) { - throw new Error(ContractWrappersError.SubscriptionAlreadyPresent); + throw new Error(SubscriptionErrors.SubscriptionAlreadyPresent); } this._blockAndLogStreamerIfExists = new BlockAndLogStreamer( this._blockstreamGetBlockOrNullAsync.bind(this), this._blockstreamGetLogsAsync.bind(this), - ContractWrapper._onBlockAndLogStreamerError.bind(this, isVerbose), + SubscriptionManager._onBlockAndLogStreamerError.bind(this, isVerbose), ); const catchAllLogFilter = {}; this._blockAndLogStreamerIfExists.addLogFilter(catchAllLogFilter); + const _blockPollingIntervalMs = + blockPollingIntervalMs === undefined ? DEFAULT_BLOCK_POLLING_INTERVAL : blockPollingIntervalMs; this._blockAndLogStreamIntervalIfExists = intervalUtils.setAsyncExcludingInterval( this._reconcileBlockAsync.bind(this), - this._blockPollingIntervalMs, - ContractWrapper._onBlockAndLogStreamerError.bind(this, isVerbose), + _blockPollingIntervalMs, + SubscriptionManager._onBlockAndLogStreamerError.bind(this, isVerbose), ); let isRemoved = false; this._onLogAddedSubscriptionToken = this._blockAndLogStreamerIfExists.subscribeToOnLogAdded( @@ -176,7 +169,7 @@ export abstract class ContractWrapper { } private _stopBlockAndLogStream(): void { if (this._blockAndLogStreamerIfExists === undefined) { - throw new Error(ContractWrappersError.SubscriptionNotFound); + throw new Error(SubscriptionErrors.SubscriptionNotFound); } this._blockAndLogStreamerIfExists.unsubscribeFromOnLogAdded(this._onLogAddedSubscriptionToken as string); this._blockAndLogStreamerIfExists.unsubscribeFromOnLogRemoved(this._onLogRemovedSubscriptionToken as string); diff --git a/packages/base-contract/src/types.ts b/packages/base-contract/src/types.ts new file mode 100644 index 0000000000..e8caac5eef --- /dev/null +++ b/packages/base-contract/src/types.ts @@ -0,0 +1,38 @@ +import { BlockParam, ContractEventArg, DecodedLogArgs, LogEntryEvent, LogWithDecodedArgs } from 'ethereum-types'; + +export type LogEvent = LogEntryEvent; +export interface DecodedLogEvent { + isRemoved: boolean; + log: LogWithDecodedArgs; +} + +export type EventCallback = ( + err: null | Error, + log?: DecodedLogEvent, +) => void; + +export interface ContractEvent { + logIndex: number; + transactionIndex: number; + transactionHash: string; + blockHash: string; + blockNumber: number; + address: string; + type: string; + event: string; + args: ContractEventArgs; +} + +export enum SubscriptionErrors { + SubscriptionNotFound = 'SUBSCRIPTION_NOT_FOUND', + SubscriptionAlreadyPresent = 'SUBSCRIPTION_ALREADY_PRESENT', +} + +export interface IndexedFilterValues { + [index: string]: ContractEventArg; +} + +export interface BlockRange { + fromBlock: BlockParam; + toBlock: BlockParam; +} diff --git a/packages/base-contract/src/utils/filter_utils.ts b/packages/base-contract/src/utils/filter_utils.ts new file mode 100644 index 0000000000..a10899e9ce --- /dev/null +++ b/packages/base-contract/src/utils/filter_utils.ts @@ -0,0 +1,87 @@ +import { ContractAbi, EventAbi, FilterObject, LogEntry } from 'ethereum-types'; +import * as ethUtil from 'ethereumjs-util'; +import * as jsSHA3 from 'js-sha3'; +import * as _ from 'lodash'; +import * as uuid from 'uuid/v4'; + +import { BlockRange, IndexedFilterValues } from '../types'; + +const TOPIC_LENGTH = 32; + +export const filterUtils = { + generateUUID(): string { + return uuid(); + }, + getFilter( + address: string, + eventName: ContractEvents, + indexFilterValues: IndexedFilterValues, + abi: ContractAbi, + blockRange?: BlockRange, + ): FilterObject { + const eventAbi = _.find(abi, { name: eventName }) as EventAbi; + const eventSignature = filterUtils.getEventSignatureFromAbiByName(eventAbi); + const topicForEventSignature = ethUtil.addHexPrefix(jsSHA3.keccak256(eventSignature)); + const topicsForIndexedArgs = filterUtils.getTopicsForIndexedArgs(eventAbi, indexFilterValues); + const topics = [topicForEventSignature, ...topicsForIndexedArgs]; + let filter: FilterObject = { + address, + topics, + }; + if (blockRange !== undefined) { + filter = { + ...blockRange, + ...filter, + }; + } + return filter; + }, + getEventSignatureFromAbiByName(eventAbi: EventAbi): string { + const types = _.map(eventAbi.inputs, 'type'); + const signature = `${eventAbi.name}(${types.join(',')})`; + return signature; + }, + getTopicsForIndexedArgs(abi: EventAbi, indexFilterValues: IndexedFilterValues): Array { + const topics: Array = []; + for (const eventInput of abi.inputs) { + if (!eventInput.indexed) { + continue; + } + if (indexFilterValues[eventInput.name] === undefined) { + // Null is a wildcard topic in a JSON-RPC call + topics.push(null); + } else { + const value = indexFilterValues[eventInput.name] as string; + const buffer = ethUtil.toBuffer(value); + const paddedBuffer = ethUtil.setLengthLeft(buffer, TOPIC_LENGTH); + const topic = ethUtil.bufferToHex(paddedBuffer); + topics.push(topic); + } + } + return topics; + }, + matchesFilter(log: LogEntry, filter: FilterObject): boolean { + if (filter.address !== undefined && log.address !== filter.address) { + return false; + } + if (filter.topics !== undefined) { + return filterUtils.doesMatchTopics(log.topics, filter.topics); + } + return true; + }, + doesMatchTopics(logTopics: string[], filterTopics: Array): boolean { + const matchesTopic = _.zipWith(logTopics, filterTopics, filterUtils.matchesTopic.bind(filterUtils)); + const doesMatchTopics = _.every(matchesTopic); + return doesMatchTopics; + }, + matchesTopic(logTopic: string, filterTopic: string[] | string | null): boolean { + if (_.isArray(filterTopic)) { + return _.includes(filterTopic, logTopic); + } + if (_.isString(filterTopic)) { + return filterTopic === logTopic; + } + // null topic is a wildcard + return true; + }, +}; diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index 79c36408e3..413273378d 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "10.0.0", + "changes": [ + { + "note": "Constructors for `ERC20TokenWrapper`, `ERC721TokenWrapper`, and `EtherTokenWrapper` no longer accept networkId", + "pr": 1970 + } + ] + }, { "version": "9.1.8", "changes": [ diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index d84bbe92eb..a6b48faeee 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -73,6 +73,7 @@ "dependencies": { "@0x/abi-gen-wrappers": "^5.0.3", "@0x/assert": "^2.1.1", + "@0x/base-contract": "^5.1.2", "@0x/contract-addresses": "^3.0.2", "@0x/contract-artifacts": "^2.0.2", "@0x/json-schemas": "^3.1.11", diff --git a/packages/contract-wrappers/src/contract_wrappers.ts b/packages/contract-wrappers/src/contract_wrappers.ts index 370a191d43..40b0651558 100644 --- a/packages/contract-wrappers/src/contract_wrappers.ts +++ b/packages/contract-wrappers/src/contract_wrappers.ts @@ -119,24 +119,9 @@ export class ContractWrappers { : config.contractAddresses; this.erc20Proxy = new ERC20ProxyWrapper(this._web3Wrapper, config.networkId, contractAddresses.erc20Proxy); this.erc721Proxy = new ERC721ProxyWrapper(this._web3Wrapper, config.networkId, contractAddresses.erc721Proxy); - this.erc20Token = new ERC20TokenWrapper( - this._web3Wrapper, - config.networkId, - this.erc20Proxy, - blockPollingIntervalMs, - ); - this.erc721Token = new ERC721TokenWrapper( - this._web3Wrapper, - config.networkId, - this.erc721Proxy, - blockPollingIntervalMs, - ); - this.etherToken = new EtherTokenWrapper( - this._web3Wrapper, - config.networkId, - this.erc20Token, - blockPollingIntervalMs, - ); + this.erc20Token = new ERC20TokenWrapper(this._web3Wrapper, this.erc20Proxy, blockPollingIntervalMs); + this.erc721Token = new ERC721TokenWrapper(this._web3Wrapper, this.erc721Proxy, blockPollingIntervalMs); + this.etherToken = new EtherTokenWrapper(this._web3Wrapper, this.erc20Token, blockPollingIntervalMs); this.exchange = new ExchangeWrapper( this._web3Wrapper, config.networkId, diff --git a/packages/contract-wrappers/src/contract_wrappers/coordinator_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/coordinator_wrapper.ts index e7c22020e9..8a1659363e 100644 --- a/packages/contract-wrappers/src/contract_wrappers/coordinator_wrapper.ts +++ b/packages/contract-wrappers/src/contract_wrappers/coordinator_wrapper.ts @@ -25,17 +25,17 @@ import { import { decorators } from '../utils/decorators'; import { TransactionEncoder } from '../utils/transaction_encoder'; -import { ContractWrapper } from './contract_wrapper'; /** * This class includes all the functionality related to filling or cancelling orders through * the 0x V2 Coordinator extension contract. */ -export class CoordinatorWrapper extends ContractWrapper { +export class CoordinatorWrapper { public abi: ContractAbi = Coordinator.compilerOutput.abi; public networkId: number; public address: string; public exchangeAddress: string; public registryAddress: string; + private readonly _web3Wrapper: Web3Wrapper; private readonly _contractInstance: CoordinatorContract; private readonly _registryInstance: CoordinatorRegistryContract; private readonly _exchangeInstance: ExchangeContract; @@ -60,13 +60,12 @@ export class CoordinatorWrapper extends ContractWrapper { exchangeAddress?: string, registryAddress?: string, ) { - super(web3Wrapper, networkId); this.networkId = networkId; - const contractAddresses = getContractAddressesForNetworkOrThrow(networkId); this.address = address === undefined ? contractAddresses.coordinator : address; this.exchangeAddress = exchangeAddress === undefined ? contractAddresses.coordinator : exchangeAddress; this.registryAddress = registryAddress === undefined ? contractAddresses.coordinatorRegistry : registryAddress; + this._web3Wrapper = web3Wrapper; this._contractInstance = new CoordinatorContract( this.address, diff --git a/packages/contract-wrappers/src/contract_wrappers/dutch_auction_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/dutch_auction_wrapper.ts index 774ec1d16d..1cc8625acc 100644 --- a/packages/contract-wrappers/src/contract_wrappers/dutch_auction_wrapper.ts +++ b/packages/contract-wrappers/src/contract_wrappers/dutch_auction_wrapper.ts @@ -14,12 +14,11 @@ import { DutchAuctionWrapperError, OrderTransactionOpts } from '../types'; import { assert } from '../utils/assert'; import { _getDefaultContractAddresses } from '../utils/contract_addresses'; -import { ContractWrapper } from './contract_wrapper'; - -export class DutchAuctionWrapper extends ContractWrapper { +export class DutchAuctionWrapper { public abi: ContractAbi = DutchAuction.compilerOutput.abi; public address: string; - private _dutchAuctionContractIfExists?: DutchAuctionContract; + private readonly _web3Wrapper: Web3Wrapper; + private readonly _dutchAuctionContract: DutchAuctionContract; /** * Dutch auction details are encoded with the asset data for a 0x order. This function produces a hex * encoded assetData string, containing information both about the asset being traded and the @@ -56,8 +55,13 @@ export class DutchAuctionWrapper extends ContractWrapper { * default to the known address corresponding to the networkId. */ public constructor(web3Wrapper: Web3Wrapper, networkId: number, address?: string) { - super(web3Wrapper, networkId); this.address = address === undefined ? _getDefaultContractAddresses(networkId).dutchAuction : address; + this._web3Wrapper = web3Wrapper; + this._dutchAuctionContract = new DutchAuctionContract( + this.address, + this._web3Wrapper.getProvider(), + this._web3Wrapper.getContractDefaults(), + ); } /** * Matches the buy and sell orders at an amount given the following: the current block time, the auction @@ -89,11 +93,9 @@ export class DutchAuctionWrapper extends ContractWrapper { ) { throw new Error(DutchAuctionWrapperError.AssetDataMismatch); } - // get contract - const dutchAuctionInstance = await this._getDutchAuctionContractAsync(); // validate transaction if (orderTransactionOpts.shouldValidate) { - await dutchAuctionInstance.matchOrders.callAsync( + await this._dutchAuctionContract.matchOrders.callAsync( buyOrder, sellOrder, buyOrder.signature, @@ -107,7 +109,7 @@ export class DutchAuctionWrapper extends ContractWrapper { ); } // send transaction - const txHash = await dutchAuctionInstance.matchOrders.sendTransactionAsync( + const txHash = await this._dutchAuctionContract.matchOrders.sendTransactionAsync( buyOrder, sellOrder, buyOrder.signature, @@ -129,22 +131,8 @@ export class DutchAuctionWrapper extends ContractWrapper { public async getAuctionDetailsAsync(sellOrder: SignedOrder): Promise { // type assertions assert.doesConformToSchema('sellOrder', sellOrder, schemas.signedOrderSchema); - // get contract - const dutchAuctionInstance = await this._getDutchAuctionContractAsync(); // call contract - const auctionDetails = await dutchAuctionInstance.getAuctionDetails.callAsync(sellOrder); + const auctionDetails = await this._dutchAuctionContract.getAuctionDetails.callAsync(sellOrder); return auctionDetails; } - private async _getDutchAuctionContractAsync(): Promise { - if (this._dutchAuctionContractIfExists !== undefined) { - return this._dutchAuctionContractIfExists; - } - const contractInstance = new DutchAuctionContract( - this.address, - this._web3Wrapper.getProvider(), - this._web3Wrapper.getContractDefaults(), - ); - this._dutchAuctionContractIfExists = contractInstance; - return this._dutchAuctionContractIfExists; - } } diff --git a/packages/contract-wrappers/src/contract_wrappers/erc20_proxy_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/erc20_proxy_wrapper.ts index 5574df315c..88af962471 100644 --- a/packages/contract-wrappers/src/contract_wrappers/erc20_proxy_wrapper.ts +++ b/packages/contract-wrappers/src/contract_wrappers/erc20_proxy_wrapper.ts @@ -8,15 +8,14 @@ import * as _ from 'lodash'; import { assert } from '../utils/assert'; import { _getDefaultContractAddresses } from '../utils/contract_addresses'; -import { ContractWrapper } from './contract_wrapper'; - /** * This class includes the functionality related to interacting with the ERC20Proxy contract. */ -export class ERC20ProxyWrapper extends ContractWrapper { +export class ERC20ProxyWrapper { public abi: ContractAbi = ERC20Proxy.compilerOutput.abi; public address: string; - private _erc20ProxyContractIfExists?: ERC20ProxyContract; + private readonly _web3Wrapper: Web3Wrapper; + private readonly _erc20ProxyContract: ERC20ProxyContract; /** * Instantiate ERC20ProxyWrapper * @param web3Wrapper Web3Wrapper instance to use @@ -25,19 +24,23 @@ export class ERC20ProxyWrapper extends ContractWrapper { * default to the known address corresponding to the networkId. */ constructor(web3Wrapper: Web3Wrapper, networkId: number, address?: string) { - super(web3Wrapper, networkId); + this._web3Wrapper = web3Wrapper; this.address = address === undefined ? _getDefaultContractAddresses(networkId).erc20Proxy : address; + this._erc20ProxyContract = new ERC20ProxyContract( + this.address, + this._web3Wrapper.getProvider(), + this._web3Wrapper.getContractDefaults(), + ); } /** * Get the 4 bytes ID of this asset proxy * @return Proxy id */ public async getProxyIdAsync(): Promise { - const ERC20ProxyContractInstance = this._getERC20ProxyContract(); // Note(albrow): Below is a TSLint false positive. Code won't compile if // you remove the type assertion. /* tslint:disable-next-line:no-unnecessary-type-assertion */ - const proxyId = (await ERC20ProxyContractInstance.getProxyId.callAsync()) as AssetProxyId; + const proxyId = (await this._erc20ProxyContract.getProxyId.callAsync()) as AssetProxyId; return proxyId; } /** @@ -48,8 +51,7 @@ export class ERC20ProxyWrapper extends ContractWrapper { public async isAuthorizedAsync(exchangeContractAddress: string): Promise { assert.isETHAddressHex('exchangeContractAddress', exchangeContractAddress); const normalizedExchangeContractAddress = exchangeContractAddress.toLowerCase(); - const ERC20ProxyContractInstance = this._getERC20ProxyContract(); - const isAuthorized = await ERC20ProxyContractInstance.authorized.callAsync(normalizedExchangeContractAddress); + const isAuthorized = await this._erc20ProxyContract.authorized.callAsync(normalizedExchangeContractAddress); return isAuthorized; } /** @@ -57,20 +59,7 @@ export class ERC20ProxyWrapper extends ContractWrapper { * @return The list of authorized addresses. */ public async getAuthorizedAddressesAsync(): Promise { - const ERC20ProxyContractInstance = this._getERC20ProxyContract(); - const authorizedAddresses = await ERC20ProxyContractInstance.getAuthorizedAddresses.callAsync(); + const authorizedAddresses = await this._erc20ProxyContract.getAuthorizedAddresses.callAsync(); return authorizedAddresses; } - private _getERC20ProxyContract(): ERC20ProxyContract { - if (this._erc20ProxyContractIfExists !== undefined) { - return this._erc20ProxyContractIfExists; - } - const contractInstance = new ERC20ProxyContract( - this.address, - this._web3Wrapper.getProvider(), - this._web3Wrapper.getContractDefaults(), - ); - this._erc20ProxyContractIfExists = contractInstance; - return this._erc20ProxyContractIfExists; - } } diff --git a/packages/contract-wrappers/src/contract_wrappers/erc20_token_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/erc20_token_wrapper.ts index 989cf95193..3944424380 100644 --- a/packages/contract-wrappers/src/contract_wrappers/erc20_token_wrapper.ts +++ b/packages/contract-wrappers/src/contract_wrappers/erc20_token_wrapper.ts @@ -1,4 +1,5 @@ import { ERC20TokenContract, ERC20TokenEventArgs, ERC20TokenEvents } from '@0x/abi-gen-wrappers'; +import { SubscriptionManager } from '@0x/base-contract'; import { ERC20Token } from '@0x/contract-artifacts'; import { schemas } from '@0x/json-schemas'; import { BigNumber } from '@0x/utils'; @@ -20,7 +21,6 @@ import { assert } from '../utils/assert'; import { constants } from '../utils/constants'; import { utils } from '../utils/utils'; -import { ContractWrapper } from './contract_wrapper'; import { ERC20ProxyWrapper } from './erc20_proxy_wrapper'; /** @@ -28,27 +28,28 @@ import { ERC20ProxyWrapper } from './erc20_proxy_wrapper'; * All ERC20 method calls are supported, along with some convenience methods for getting/setting allowances * to the 0x ERC20 Proxy smart contract. */ -export class ERC20TokenWrapper extends ContractWrapper { +export class ERC20TokenWrapper { public abi: ContractAbi = ERC20Token.compilerOutput.abi; public UNLIMITED_ALLOWANCE_IN_BASE_UNITS = constants.UNLIMITED_ALLOWANCE_IN_BASE_UNITS; + private readonly _web3Wrapper: Web3Wrapper; + private readonly _blockPollingIntervalMs?: number; + private readonly _subscriptionManager: SubscriptionManager; private readonly _tokenContractsByAddress: { [address: string]: ERC20TokenContract }; private readonly _erc20ProxyWrapper: ERC20ProxyWrapper; /** * Instantiate ERC20TokenWrapper * @param web3Wrapper Web3Wrapper instance to use - * @param networkId Desired networkId * @param erc20ProxyWrapper The ERC20ProxyWrapper instance to use - * @param blockPollingIntervalMs The block polling interval to use for active subscriptions */ - constructor( - web3Wrapper: Web3Wrapper, - networkId: number, - erc20ProxyWrapper: ERC20ProxyWrapper, - blockPollingIntervalMs?: number, - ) { - super(web3Wrapper, networkId, blockPollingIntervalMs); + constructor(web3Wrapper: Web3Wrapper, erc20ProxyWrapper: ERC20ProxyWrapper, blockPollingIntervalMs?: number) { + this._web3Wrapper = web3Wrapper; this._tokenContractsByAddress = {}; this._erc20ProxyWrapper = erc20ProxyWrapper; + this._blockPollingIntervalMs = blockPollingIntervalMs; + this._subscriptionManager = new SubscriptionManager( + ERC20TokenContract.ABI(), + web3Wrapper, + ); } /** * Retrieves an owner's ERC20 token balance. @@ -371,13 +372,14 @@ export class ERC20TokenWrapper extends ContractWrapper { assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); assert.isFunction('callback', callback); const normalizedTokenAddress = tokenAddress.toLowerCase(); - const subscriptionToken = this._subscribe( + const subscriptionToken = this._subscriptionManager.subscribe( normalizedTokenAddress, eventName, indexFilterValues, ERC20Token.compilerOutput.abi, callback, isVerbose, + this._blockPollingIntervalMs, ); return subscriptionToken; } @@ -387,13 +389,13 @@ export class ERC20TokenWrapper extends ContractWrapper { */ public unsubscribe(subscriptionToken: string): void { assert.isValidSubscriptionToken('subscriptionToken', subscriptionToken); - this._unsubscribe(subscriptionToken); + this._subscriptionManager.unsubscribe(subscriptionToken); // doesn't matter which contract is used } /** * Cancels all existing subscriptions */ public unsubscribeAll(): void { - super._unsubscribeAll(); + this._subscriptionManager.unsubscribeAll(); } /** * Gets historical logs without creating a subscription @@ -415,7 +417,7 @@ export class ERC20TokenWrapper extends ContractWrapper { assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); const normalizedTokenAddress = tokenAddress.toLowerCase(); - const logs = await this._getLogsAsync( + const logs = await this._subscriptionManager.getLogsAsync( normalizedTokenAddress, eventName, blockRange, diff --git a/packages/contract-wrappers/src/contract_wrappers/erc721_proxy_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/erc721_proxy_wrapper.ts index 801e393a3f..30fe1e77c6 100644 --- a/packages/contract-wrappers/src/contract_wrappers/erc721_proxy_wrapper.ts +++ b/packages/contract-wrappers/src/contract_wrappers/erc721_proxy_wrapper.ts @@ -8,15 +8,14 @@ import * as _ from 'lodash'; import { assert } from '../utils/assert'; import { _getDefaultContractAddresses } from '../utils/contract_addresses'; -import { ContractWrapper } from './contract_wrapper'; - /** * This class includes the functionality related to interacting with the ERC721Proxy contract. */ -export class ERC721ProxyWrapper extends ContractWrapper { +export class ERC721ProxyWrapper { public abi: ContractAbi = ERC721Proxy.compilerOutput.abi; public address: string; - private _erc721ProxyContractIfExists?: ERC721ProxyContract; + private readonly _web3Wrapper: Web3Wrapper; + private readonly _erc721ProxyContract: ERC721ProxyContract; /** * Instantiate ERC721ProxyWrapper * @param web3Wrapper Web3Wrapper instance to use @@ -25,19 +24,23 @@ export class ERC721ProxyWrapper extends ContractWrapper { * will default to the known address corresponding to the networkId. */ constructor(web3Wrapper: Web3Wrapper, networkId: number, address?: string) { - super(web3Wrapper, networkId); + this._web3Wrapper = web3Wrapper; this.address = address === undefined ? _getDefaultContractAddresses(networkId).erc721Proxy : address; + this._erc721ProxyContract = new ERC721ProxyContract( + this.address, + this._web3Wrapper.getProvider(), + this._web3Wrapper.getContractDefaults(), + ); } /** * Get the 4 bytes ID of this asset proxy * @return Proxy id */ public async getProxyIdAsync(): Promise { - const ERC721ProxyContractInstance = await this._getERC721ProxyContract(); // Note(albrow): Below is a TSLint false positive. Code won't compile if // you remove the type assertion. /* tslint:disable-next-line:no-unnecessary-type-assertion */ - const proxyId = (await ERC721ProxyContractInstance.getProxyId.callAsync()) as AssetProxyId; + const proxyId = (await this._erc721ProxyContract.getProxyId.callAsync()) as AssetProxyId; return proxyId; } /** @@ -48,8 +51,7 @@ export class ERC721ProxyWrapper extends ContractWrapper { public async isAuthorizedAsync(exchangeContractAddress: string): Promise { assert.isETHAddressHex('exchangeContractAddress', exchangeContractAddress); const normalizedExchangeContractAddress = exchangeContractAddress.toLowerCase(); - const ERC721ProxyContractInstance = await this._getERC721ProxyContract(); - const isAuthorized = await ERC721ProxyContractInstance.authorized.callAsync(normalizedExchangeContractAddress); + const isAuthorized = await this._erc721ProxyContract.authorized.callAsync(normalizedExchangeContractAddress); return isAuthorized; } /** @@ -57,20 +59,7 @@ export class ERC721ProxyWrapper extends ContractWrapper { * @return The list of authorized addresses. */ public async getAuthorizedAddressesAsync(): Promise { - const ERC721ProxyContractInstance = await this._getERC721ProxyContract(); - const authorizedAddresses = await ERC721ProxyContractInstance.getAuthorizedAddresses.callAsync(); + const authorizedAddresses = await this._erc721ProxyContract.getAuthorizedAddresses.callAsync(); return authorizedAddresses; } - private _getERC721ProxyContract(): ERC721ProxyContract { - if (this._erc721ProxyContractIfExists !== undefined) { - return this._erc721ProxyContractIfExists; - } - const contractInstance = new ERC721ProxyContract( - this.address, - this._web3Wrapper.getProvider(), - this._web3Wrapper.getContractDefaults(), - ); - this._erc721ProxyContractIfExists = contractInstance; - return this._erc721ProxyContractIfExists; - } } diff --git a/packages/contract-wrappers/src/contract_wrappers/erc721_token_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/erc721_token_wrapper.ts index 12c899cf4f..8b6711daae 100644 --- a/packages/contract-wrappers/src/contract_wrappers/erc721_token_wrapper.ts +++ b/packages/contract-wrappers/src/contract_wrappers/erc721_token_wrapper.ts @@ -1,4 +1,5 @@ import { ERC721TokenContract, ERC721TokenEventArgs, ERC721TokenEvents } from '@0x/abi-gen-wrappers'; +import { SubscriptionManager } from '@0x/base-contract'; import { ERC721Token } from '@0x/contract-artifacts'; import { schemas } from '@0x/json-schemas'; import { BigNumber } from '@0x/utils'; @@ -20,7 +21,6 @@ import { assert } from '../utils/assert'; import { constants } from '../utils/constants'; import { utils } from '../utils/utils'; -import { ContractWrapper } from './contract_wrapper'; import { ERC721ProxyWrapper } from './erc721_proxy_wrapper'; /** @@ -28,26 +28,27 @@ import { ERC721ProxyWrapper } from './erc721_proxy_wrapper'; * All ERC721 method calls are supported, along with some convenience methods for getting/setting allowances * to the 0x ERC721 Proxy smart contract. */ -export class ERC721TokenWrapper extends ContractWrapper { +export class ERC721TokenWrapper { public abi: ContractAbi = ERC721Token.compilerOutput.abi; + private readonly _web3Wrapper: Web3Wrapper; + private readonly _subscriptionManager: SubscriptionManager; + private readonly _blockPollingIntervalMs?: number; private readonly _tokenContractsByAddress: { [address: string]: ERC721TokenContract }; private readonly _erc721ProxyWrapper: ERC721ProxyWrapper; /** * Instantiate ERC721TokenWrapper * @param web3Wrapper Web3Wrapper instance to use - * @param networkId Desired networkId * @param erc721ProxyWrapper The ERC721ProxyWrapper instance to use - * @param blockPollingIntervalMs The block polling interval to use for active subscriptions */ - constructor( - web3Wrapper: Web3Wrapper, - networkId: number, - erc721ProxyWrapper: ERC721ProxyWrapper, - blockPollingIntervalMs?: number, - ) { - super(web3Wrapper, networkId, blockPollingIntervalMs); + constructor(web3Wrapper: Web3Wrapper, erc721ProxyWrapper: ERC721ProxyWrapper, blockPollingIntervalMs?: number) { + this._web3Wrapper = web3Wrapper; this._tokenContractsByAddress = {}; this._erc721ProxyWrapper = erc721ProxyWrapper; + this._blockPollingIntervalMs = blockPollingIntervalMs; + this._subscriptionManager = new SubscriptionManager( + ERC721TokenContract.ABI(), + web3Wrapper, + ); } /** * Count all NFTs assigned to an owner @@ -398,13 +399,14 @@ export class ERC721TokenWrapper extends ContractWrapper { assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); assert.isFunction('callback', callback); const normalizedTokenAddress = tokenAddress.toLowerCase(); - const subscriptionToken = this._subscribe( + const subscriptionToken = this._subscriptionManager.subscribe( normalizedTokenAddress, eventName, indexFilterValues, ERC721Token.compilerOutput.abi, callback, isVerbose, + this._blockPollingIntervalMs, ); return subscriptionToken; } @@ -414,13 +416,13 @@ export class ERC721TokenWrapper extends ContractWrapper { */ public unsubscribe(subscriptionToken: string): void { assert.isValidSubscriptionToken('subscriptionToken', subscriptionToken); - this._unsubscribe(subscriptionToken); + this._subscriptionManager.unsubscribe(subscriptionToken); } /** * Cancels all existing subscriptions */ public unsubscribeAll(): void { - super._unsubscribeAll(); + this._subscriptionManager.unsubscribeAll(); } /** * Gets historical logs without creating a subscription @@ -442,7 +444,7 @@ export class ERC721TokenWrapper extends ContractWrapper { assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); const normalizedTokenAddress = tokenAddress.toLowerCase(); - const logs = await this._getLogsAsync( + const logs = await this._subscriptionManager.getLogsAsync( normalizedTokenAddress, eventName, blockRange, diff --git a/packages/contract-wrappers/src/contract_wrappers/ether_token_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/ether_token_wrapper.ts index b1805ecc87..599c73dcc0 100644 --- a/packages/contract-wrappers/src/contract_wrappers/ether_token_wrapper.ts +++ b/packages/contract-wrappers/src/contract_wrappers/ether_token_wrapper.ts @@ -1,4 +1,5 @@ import { WETH9Contract, WETH9EventArgs, WETH9Events } from '@0x/abi-gen-wrappers'; +import { SubscriptionManager } from '@0x/base-contract'; import { WETH9 } from '@0x/contract-artifacts'; import { schemas } from '@0x/json-schemas'; import { BigNumber } from '@0x/utils'; @@ -10,15 +11,17 @@ import { BlockRange, ContractWrappersError, EventCallback, IndexedFilterValues, import { assert } from '../utils/assert'; import { utils } from '../utils/utils'; -import { ContractWrapper } from './contract_wrapper'; import { ERC20TokenWrapper } from './erc20_token_wrapper'; /** * This class includes all the functionality related to interacting with a wrapped Ether ERC20 token contract. * The caller can convert ETH into the equivalent number of wrapped ETH ERC20 tokens and back. */ -export class EtherTokenWrapper extends ContractWrapper { +export class EtherTokenWrapper { public abi: ContractAbi = WETH9.compilerOutput.abi; + private readonly _web3Wrapper: Web3Wrapper; + private readonly _subscriptionManager: SubscriptionManager; + private readonly _blockPollingIntervalMs?: number; private readonly _etherTokenContractsByAddress: { [address: string]: WETH9Contract; } = {}; @@ -26,18 +29,16 @@ export class EtherTokenWrapper extends ContractWrapper { /** * Instantiate EtherTokenWrapper. * @param web3Wrapper Web3Wrapper instance to use - * @param networkId Desired networkId * @param erc20TokenWrapper The ERC20TokenWrapper instance to use - * @param blockPollingIntervalMs The block polling interval to use for active subscriptions */ - constructor( - web3Wrapper: Web3Wrapper, - networkId: number, - erc20TokenWrapper: ERC20TokenWrapper, - blockPollingIntervalMs?: number, - ) { - super(web3Wrapper, networkId, blockPollingIntervalMs); + constructor(web3Wrapper: Web3Wrapper, erc20TokenWrapper: ERC20TokenWrapper, blockPollingIntervalMs?: number) { + this._web3Wrapper = web3Wrapper; this._erc20TokenWrapper = erc20TokenWrapper; + this._blockPollingIntervalMs = blockPollingIntervalMs; + this._subscriptionManager = new SubscriptionManager( + WETH9Contract.ABI(), + web3Wrapper, + ); } /** * Deposit ETH into the Wrapped ETH smart contract and issues the equivalent number of wrapped ETH tokens @@ -138,7 +139,7 @@ export class EtherTokenWrapper extends ContractWrapper { assert.doesBelongToStringEnum('eventName', eventName, WETH9Events); assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); - const logs = await this._getLogsAsync( + const logs = await this._subscriptionManager.getLogsAsync( normalizedEtherTokenAddress, eventName, blockRange, @@ -169,13 +170,14 @@ export class EtherTokenWrapper extends ContractWrapper { assert.doesBelongToStringEnum('eventName', eventName, WETH9Events); assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); assert.isFunction('callback', callback); - const subscriptionToken = this._subscribe( + const subscriptionToken = this._subscriptionManager.subscribe( normalizedEtherTokenAddress, eventName, indexFilterValues, WETH9.compilerOutput.abi, callback, isVerbose, + this._blockPollingIntervalMs, ); return subscriptionToken; } @@ -185,13 +187,13 @@ export class EtherTokenWrapper extends ContractWrapper { */ public unsubscribe(subscriptionToken: string): void { assert.isValidSubscriptionToken('subscriptionToken', subscriptionToken); - this._unsubscribe(subscriptionToken); + this._subscriptionManager.unsubscribe(subscriptionToken); } /** * Cancels all existing subscriptions */ public unsubscribeAll(): void { - super._unsubscribeAll(); + this._subscriptionManager.unsubscribeAll(); } private async _getEtherTokenContractAsync(etherTokenAddress: string): Promise { let etherTokenContract = this._etherTokenContractsByAddress[etherTokenAddress]; diff --git a/packages/contract-wrappers/src/contract_wrappers/exchange_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/exchange_wrapper.ts index a3b26a9724..bb948ee8a2 100644 --- a/packages/contract-wrappers/src/contract_wrappers/exchange_wrapper.ts +++ b/packages/contract-wrappers/src/contract_wrappers/exchange_wrapper.ts @@ -37,7 +37,6 @@ import { _getDefaultContractAddresses } from '../utils/contract_addresses'; import { decorators } from '../utils/decorators'; import { TransactionEncoder } from '../utils/transaction_encoder'; -import { ContractWrapper } from './contract_wrapper'; import { ERC20TokenWrapper } from './erc20_token_wrapper'; import { ERC721TokenWrapper } from './erc721_token_wrapper'; @@ -45,11 +44,13 @@ import { ERC721TokenWrapper } from './erc721_token_wrapper'; * This class includes all the functionality related to calling methods, sending transactions and subscribing to * events of the 0x V2 Exchange smart contract. */ -export class ExchangeWrapper extends ContractWrapper { +export class ExchangeWrapper { public abi: ContractAbi = Exchange.compilerOutput.abi; public address: string; public zrxTokenAddress: string; - private _exchangeContractIfExists?: ExchangeContract; + private readonly _web3Wrapper: Web3Wrapper; + private readonly _exchangeContract: ExchangeContract; + private readonly _blockPollingIntervalMs?: number; private readonly _erc721TokenWrapper: ERC721TokenWrapper; private readonly _erc20TokenWrapper: ERC20TokenWrapper; /** @@ -74,12 +75,18 @@ export class ExchangeWrapper extends ContractWrapper { zrxTokenAddress?: string, blockPollingIntervalMs?: number, ) { - super(web3Wrapper, networkId, blockPollingIntervalMs); + this._web3Wrapper = web3Wrapper; this._erc20TokenWrapper = erc20TokenWrapper; this._erc721TokenWrapper = erc721TokenWrapper; + this._blockPollingIntervalMs = blockPollingIntervalMs; this.address = address === undefined ? _getDefaultContractAddresses(networkId).exchange : address; this.zrxTokenAddress = zrxTokenAddress === undefined ? _getDefaultContractAddresses(networkId).zrxToken : zrxTokenAddress; + this._exchangeContract = new ExchangeContract( + this.address, + this._web3Wrapper.getProvider(), + this._web3Wrapper.getContractDefaults(), + ); } /** * Retrieve the address of an asset proxy by signature. @@ -90,10 +97,13 @@ export class ExchangeWrapper extends ContractWrapper { public async getAssetProxyBySignatureAsync(proxyId: AssetProxyId, methodOpts: MethodOpts = {}): Promise { assert.doesBelongToStringEnum('proxyId', proxyId, AssetProxyId); assert.doesConformToSchema('methodOpts', methodOpts, methodOptsSchema); - const exchangeContract = await this._getExchangeContractAsync(); const callData = {}; - const assetProxy = await exchangeContract.getAssetProxy.callAsync(proxyId, callData, methodOpts.defaultBlock); + const assetProxy = await this._exchangeContract.getAssetProxy.callAsync( + proxyId, + callData, + methodOpts.defaultBlock, + ); return assetProxy; } /** @@ -105,10 +115,9 @@ export class ExchangeWrapper extends ContractWrapper { public async getFilledTakerAssetAmountAsync(orderHash: string, methodOpts: MethodOpts = {}): Promise { assert.doesConformToSchema('orderHash', orderHash, schemas.orderHashSchema); assert.doesConformToSchema('methodOpts', methodOpts, methodOptsSchema); - const exchangeContract = await this._getExchangeContractAsync(); const callData = {}; - const filledTakerAssetAmountInBaseUnits = await exchangeContract.filled.callAsync( + const filledTakerAssetAmountInBaseUnits = await this._exchangeContract.filled.callAsync( orderHash, callData, methodOpts.defaultBlock, @@ -122,10 +131,8 @@ export class ExchangeWrapper extends ContractWrapper { */ public async getVersionAsync(methodOpts: MethodOpts = {}): Promise { assert.doesConformToSchema('methodOpts', methodOpts, methodOptsSchema); - const exchangeContract = await this._getExchangeContractAsync(); - const callData = {}; - const version = await exchangeContract.VERSION.callAsync(callData, methodOpts.defaultBlock); + const version = await this._exchangeContract.VERSION.callAsync(callData, methodOpts.defaultBlock); return version; } /** @@ -144,10 +151,8 @@ export class ExchangeWrapper extends ContractWrapper { assert.isETHAddressHex('makerAddress', makerAddress); assert.isETHAddressHex('senderAddress', senderAddress); assert.doesConformToSchema('methodOpts', methodOpts, methodOptsSchema); - const exchangeContract = await this._getExchangeContractAsync(); - const callData = {}; - const orderEpoch = await exchangeContract.orderEpoch.callAsync( + const orderEpoch = await this._exchangeContract.orderEpoch.callAsync( makerAddress, senderAddress, callData, @@ -164,10 +169,12 @@ export class ExchangeWrapper extends ContractWrapper { public async isCancelledAsync(orderHash: string, methodOpts: MethodOpts = {}): Promise { assert.doesConformToSchema('orderHash', orderHash, schemas.orderHashSchema); assert.doesConformToSchema('methodOpts', methodOpts, methodOptsSchema); - const exchangeContract = await this._getExchangeContractAsync(); - const callData = {}; - const isCancelled = await exchangeContract.cancelled.callAsync(orderHash, callData, methodOpts.defaultBlock); + const isCancelled = await this._exchangeContract.cancelled.callAsync( + orderHash, + callData, + methodOpts.defaultBlock, + ); return isCancelled; } /** @@ -192,9 +199,8 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedTakerAddress = takerAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.fillOrder.callAsync(signedOrder, takerAssetFillAmount, signedOrder.signature, { + await this._exchangeContract.fillOrder.callAsync(signedOrder, takerAssetFillAmount, signedOrder.signature, { from: normalizedTakerAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, @@ -202,7 +208,7 @@ export class ExchangeWrapper extends ContractWrapper { }); } - const txHash = await exchangeInstance.fillOrder.sendTransactionAsync( + const txHash = await this._exchangeContract.fillOrder.sendTransactionAsync( signedOrder, takerAssetFillAmount, signedOrder.signature, @@ -237,9 +243,8 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedTakerAddress = takerAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.fillOrderNoThrow.callAsync( + await this._exchangeContract.fillOrderNoThrow.callAsync( signedOrder, takerAssetFillAmount, signedOrder.signature, @@ -251,7 +256,7 @@ export class ExchangeWrapper extends ContractWrapper { }, ); } - const txHash = await exchangeInstance.fillOrderNoThrow.sendTransactionAsync( + const txHash = await this._exchangeContract.fillOrderNoThrow.sendTransactionAsync( signedOrder, takerAssetFillAmount, signedOrder.signature, @@ -287,16 +292,20 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedTakerAddress = takerAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.fillOrKillOrder.callAsync(signedOrder, takerAssetFillAmount, signedOrder.signature, { - from: normalizedTakerAddress, - gas: orderTransactionOpts.gasLimit, - gasPrice: orderTransactionOpts.gasPrice, - nonce: orderTransactionOpts.nonce, - }); + await this._exchangeContract.fillOrKillOrder.callAsync( + signedOrder, + takerAssetFillAmount, + signedOrder.signature, + { + from: normalizedTakerAddress, + gas: orderTransactionOpts.gasLimit, + gasPrice: orderTransactionOpts.gasPrice, + nonce: orderTransactionOpts.nonce, + }, + ); } - const txHash = await exchangeInstance.fillOrKillOrder.sendTransactionAsync( + const txHash = await this._exchangeContract.fillOrKillOrder.sendTransactionAsync( signedOrder, takerAssetFillAmount, signedOrder.signature, @@ -338,16 +347,15 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedSenderAddress = senderAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.executeTransaction.callAsync(salt, signerAddress, data, signature, { + await this._exchangeContract.executeTransaction.callAsync(salt, signerAddress, data, signature, { from: normalizedSenderAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, nonce: orderTransactionOpts.nonce, }); } - const txHash = await exchangeInstance.executeTransaction.sendTransactionAsync( + const txHash = await this._exchangeContract.executeTransaction.sendTransactionAsync( salt, signerAddress, data, @@ -385,17 +393,16 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedTakerAddress = takerAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); const signatures = _.map(signedOrders, signedOrder => signedOrder.signature); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.batchFillOrders.callAsync(signedOrders, takerAssetFillAmounts, signatures, { + await this._exchangeContract.batchFillOrders.callAsync(signedOrders, takerAssetFillAmounts, signatures, { from: normalizedTakerAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, nonce: orderTransactionOpts.nonce, }); } - const txHash = await exchangeInstance.batchFillOrders.sendTransactionAsync( + const txHash = await this._exchangeContract.batchFillOrders.sendTransactionAsync( signedOrders, takerAssetFillAmounts, signatures, @@ -430,17 +437,16 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedTakerAddress = takerAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); const signatures = _.map(signedOrders, signedOrder => signedOrder.signature); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.marketBuyOrders.callAsync(signedOrders, makerAssetFillAmount, signatures, { + await this._exchangeContract.marketBuyOrders.callAsync(signedOrders, makerAssetFillAmount, signatures, { from: normalizedTakerAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, nonce: orderTransactionOpts.nonce, }); } - const txHash = await exchangeInstance.marketBuyOrders.sendTransactionAsync( + const txHash = await this._exchangeContract.marketBuyOrders.sendTransactionAsync( signedOrders, makerAssetFillAmount, signatures, @@ -475,17 +481,16 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedTakerAddress = takerAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); const signatures = _.map(signedOrders, signedOrder => signedOrder.signature); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.marketSellOrders.callAsync(signedOrders, takerAssetFillAmount, signatures, { + await this._exchangeContract.marketSellOrders.callAsync(signedOrders, takerAssetFillAmount, signatures, { from: normalizedTakerAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, nonce: orderTransactionOpts.nonce, }); } - const txHash = await exchangeInstance.marketSellOrders.sendTransactionAsync( + const txHash = await this._exchangeContract.marketSellOrders.sendTransactionAsync( signedOrders, takerAssetFillAmount, signatures, @@ -520,17 +525,21 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedTakerAddress = takerAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); const signatures = _.map(signedOrders, signedOrder => signedOrder.signature); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.marketBuyOrdersNoThrow.callAsync(signedOrders, makerAssetFillAmount, signatures, { - from: normalizedTakerAddress, - gas: orderTransactionOpts.gasLimit, - gasPrice: orderTransactionOpts.gasPrice, - nonce: orderTransactionOpts.nonce, - }); + await this._exchangeContract.marketBuyOrdersNoThrow.callAsync( + signedOrders, + makerAssetFillAmount, + signatures, + { + from: normalizedTakerAddress, + gas: orderTransactionOpts.gasLimit, + gasPrice: orderTransactionOpts.gasPrice, + nonce: orderTransactionOpts.nonce, + }, + ); } - const txHash = await exchangeInstance.marketBuyOrdersNoThrow.sendTransactionAsync( + const txHash = await this._exchangeContract.marketBuyOrdersNoThrow.sendTransactionAsync( signedOrders, makerAssetFillAmount, signatures, @@ -565,17 +574,21 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedTakerAddress = takerAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); const signatures = _.map(signedOrders, signedOrder => signedOrder.signature); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.marketSellOrdersNoThrow.callAsync(signedOrders, takerAssetFillAmount, signatures, { - from: normalizedTakerAddress, - gas: orderTransactionOpts.gasLimit, - gasPrice: orderTransactionOpts.gasPrice, - nonce: orderTransactionOpts.nonce, - }); + await this._exchangeContract.marketSellOrdersNoThrow.callAsync( + signedOrders, + takerAssetFillAmount, + signatures, + { + from: normalizedTakerAddress, + gas: orderTransactionOpts.gasLimit, + gasPrice: orderTransactionOpts.gasPrice, + nonce: orderTransactionOpts.nonce, + }, + ); } - const txHash = await exchangeInstance.marketSellOrdersNoThrow.sendTransactionAsync( + const txHash = await this._exchangeContract.marketSellOrdersNoThrow.sendTransactionAsync( signedOrders, takerAssetFillAmount, signatures, @@ -612,17 +625,21 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedTakerAddress = takerAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); const signatures = _.map(signedOrders, signedOrder => signedOrder.signature); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.batchFillOrdersNoThrow.callAsync(signedOrders, takerAssetFillAmounts, signatures, { - from: normalizedTakerAddress, - gas: orderTransactionOpts.gasLimit, - gasPrice: orderTransactionOpts.gasPrice, - nonce: orderTransactionOpts.nonce, - }); + await this._exchangeContract.batchFillOrdersNoThrow.callAsync( + signedOrders, + takerAssetFillAmounts, + signatures, + { + from: normalizedTakerAddress, + gas: orderTransactionOpts.gasLimit, + gasPrice: orderTransactionOpts.gasPrice, + nonce: orderTransactionOpts.nonce, + }, + ); } - const txHash = await exchangeInstance.batchFillOrdersNoThrow.sendTransactionAsync( + const txHash = await this._exchangeContract.batchFillOrdersNoThrow.sendTransactionAsync( signedOrders, takerAssetFillAmounts, signatures, @@ -659,17 +676,21 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedTakerAddress = takerAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); const signatures = _.map(signedOrders, signedOrder => signedOrder.signature); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.batchFillOrKillOrders.callAsync(signedOrders, takerAssetFillAmounts, signatures, { - from: normalizedTakerAddress, - gas: orderTransactionOpts.gasLimit, - gasPrice: orderTransactionOpts.gasPrice, - nonce: orderTransactionOpts.nonce, - }); + await this._exchangeContract.batchFillOrKillOrders.callAsync( + signedOrders, + takerAssetFillAmounts, + signatures, + { + from: normalizedTakerAddress, + gas: orderTransactionOpts.gasLimit, + gasPrice: orderTransactionOpts.gasPrice, + nonce: orderTransactionOpts.nonce, + }, + ); } - const txHash = await exchangeInstance.batchFillOrKillOrders.sendTransactionAsync( + const txHash = await this._exchangeContract.batchFillOrKillOrders.sendTransactionAsync( signedOrders, takerAssetFillAmounts, signatures, @@ -700,16 +721,15 @@ export class ExchangeWrapper extends ContractWrapper { await assert.isSenderAddressAsync('makerAddress', makerAddress, this._web3Wrapper); const normalizedMakerAddress = makerAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.batchCancelOrders.callAsync(orders, { + await this._exchangeContract.batchCancelOrders.callAsync(orders, { from: normalizedMakerAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, nonce: orderTransactionOpts.nonce, }); } - const txHash = await exchangeInstance.batchCancelOrders.sendTransactionAsync(orders, { + const txHash = await this._exchangeContract.batchCancelOrders.sendTransactionAsync(orders, { from: normalizedMakerAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, @@ -746,9 +766,8 @@ export class ExchangeWrapper extends ContractWrapper { ) { throw new Error(ExchangeWrapperError.AssetDataMismatch); } - const exchangeInstance = await this._getExchangeContractAsync(); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.matchOrders.callAsync( + await this._exchangeContract.matchOrders.callAsync( leftSignedOrder, rightSignedOrder, leftSignedOrder.signature, @@ -761,7 +780,7 @@ export class ExchangeWrapper extends ContractWrapper { }, ); } - const txHash = await exchangeInstance.matchOrders.sendTransactionAsync( + const txHash = await this._exchangeContract.matchOrders.sendTransactionAsync( leftSignedOrder, rightSignedOrder, leftSignedOrder.signature, @@ -799,16 +818,15 @@ export class ExchangeWrapper extends ContractWrapper { await assert.isSenderAddressAsync('senderAddress', senderAddress, this._web3Wrapper); assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedTakerAddress = senderAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.preSign.callAsync(hash, signerAddress, signature, { + await this._exchangeContract.preSign.callAsync(hash, signerAddress, signature, { from: normalizedTakerAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, nonce: orderTransactionOpts.nonce, }); } - const txHash = await exchangeInstance.preSign.sendTransactionAsync(hash, signerAddress, signature, { + const txHash = await this._exchangeContract.preSign.sendTransactionAsync(hash, signerAddress, signature, { from: normalizedTakerAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, @@ -835,9 +853,8 @@ export class ExchangeWrapper extends ContractWrapper { assert.isETHAddressHex('signerAddress', signerAddress); assert.isHexString('signature', signature); assert.doesConformToSchema('methodOpts', methodOpts, methodOptsSchema); - const exchangeInstance = await this._getExchangeContractAsync(); const callData = {}; - const isValidSignature = await exchangeInstance.isValidSignature.callAsync( + const isValidSignature = await this._exchangeContract.isValidSignature.callAsync( hash, signerAddress, signature, @@ -866,9 +883,8 @@ export class ExchangeWrapper extends ContractWrapper { } const normalizedSignerAddress = signerAddress.toLowerCase(); const normalizedValidatorAddress = validatorAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); const callData = {}; - const isValidSignature = await exchangeInstance.allowedValidators.callAsync( + const isValidSignature = await this._exchangeContract.allowedValidators.callAsync( normalizedSignerAddress, normalizedValidatorAddress, callData, @@ -890,10 +906,9 @@ export class ExchangeWrapper extends ContractWrapper { if (methodOpts !== undefined) { assert.doesConformToSchema('methodOpts', methodOpts, methodOptsSchema); } - const exchangeInstance = await this._getExchangeContractAsync(); const callData = {}; - const isPreSigned = await exchangeInstance.preSigned.callAsync( + const isPreSigned = await this._exchangeContract.preSigned.callAsync( hash, signerAddress, callData, @@ -914,9 +929,8 @@ export class ExchangeWrapper extends ContractWrapper { if (methodOpts !== undefined) { assert.doesConformToSchema('methodOpts', methodOpts, methodOptsSchema); } - const exchangeInstance = await this._getExchangeContractAsync(); const callData = {}; - const isExecuted = await exchangeInstance.transactions.callAsync( + const isExecuted = await this._exchangeContract.transactions.callAsync( transactionHash, callData, methodOpts.defaultBlock, @@ -935,9 +949,8 @@ export class ExchangeWrapper extends ContractWrapper { if (methodOpts !== undefined) { assert.doesConformToSchema('methodOpts', methodOpts, methodOptsSchema); } - const exchangeInstance = await this._getExchangeContractAsync(); const callData = {}; - const orderInfo = await exchangeInstance.getOrderInfo.callAsync(order, callData, methodOpts.defaultBlock); + const orderInfo = await this._exchangeContract.getOrderInfo.callAsync(order, callData, methodOpts.defaultBlock); return orderInfo; } /** @@ -955,9 +968,12 @@ export class ExchangeWrapper extends ContractWrapper { if (methodOpts !== undefined) { assert.doesConformToSchema('methodOpts', methodOpts, methodOptsSchema); } - const exchangeInstance = await this._getExchangeContractAsync(); const callData = {}; - const ordersInfo = await exchangeInstance.getOrdersInfo.callAsync(orders, callData, methodOpts.defaultBlock); + const ordersInfo = await this._exchangeContract.getOrdersInfo.callAsync( + orders, + callData, + methodOpts.defaultBlock, + ); return ordersInfo; } /** @@ -976,16 +992,15 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedMakerAddress = order.makerAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.cancelOrder.callAsync(order, { + await this._exchangeContract.cancelOrder.callAsync(order, { from: normalizedMakerAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, nonce: orderTransactionOpts.nonce, }); } - const txHash = await exchangeInstance.cancelOrder.sendTransactionAsync(order, { + const txHash = await this._exchangeContract.cancelOrder.sendTransactionAsync(order, { from: normalizedMakerAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, @@ -1014,16 +1029,15 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedSenderAddress = senderAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.setSignatureValidatorApproval.callAsync(validatorAddress, isApproved, { + await this._exchangeContract.setSignatureValidatorApproval.callAsync(validatorAddress, isApproved, { from: normalizedSenderAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, nonce: orderTransactionOpts.nonce, }); } - const txHash = await exchangeInstance.setSignatureValidatorApproval.sendTransactionAsync( + const txHash = await this._exchangeContract.setSignatureValidatorApproval.sendTransactionAsync( validatorAddress, isApproved, { @@ -1054,16 +1068,15 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesConformToSchema('orderTransactionOpts', orderTransactionOpts, orderTxOptsSchema, [txOptsSchema]); const normalizedSenderAddress = senderAddress.toLowerCase(); - const exchangeInstance = await this._getExchangeContractAsync(); if (orderTransactionOpts.shouldValidate) { - await exchangeInstance.cancelOrdersUpTo.callAsync(targetOrderEpoch, { + await this._exchangeContract.cancelOrdersUpTo.callAsync(targetOrderEpoch, { from: normalizedSenderAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, nonce: orderTransactionOpts.nonce, }); } - const txHash = await exchangeInstance.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, { + const txHash = await this._exchangeContract.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, { from: normalizedSenderAddress, gas: orderTransactionOpts.gasLimit, gasPrice: orderTransactionOpts.gasPrice, @@ -1089,13 +1102,12 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesBelongToStringEnum('eventName', eventName, ExchangeEvents); assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); assert.isFunction('callback', callback); - const subscriptionToken = this._subscribe( - this.address, + const subscriptionToken = this._exchangeContract.subscribe( eventName, indexFilterValues, - Exchange.compilerOutput.abi, callback, isVerbose, + this._blockPollingIntervalMs, ); return subscriptionToken; } @@ -1104,13 +1116,13 @@ export class ExchangeWrapper extends ContractWrapper { * @param subscriptionToken Subscription token returned by `subscribe()` */ public unsubscribe(subscriptionToken: string): void { - this._unsubscribe(subscriptionToken); + this._exchangeContract.unsubscribe(subscriptionToken); } /** * Cancels all existing subscriptions */ public unsubscribeAll(): void { - super._unsubscribeAll(); + this._exchangeContract.unsubscribeAll(); } /** * Gets historical logs without creating a subscription @@ -1128,13 +1140,7 @@ export class ExchangeWrapper extends ContractWrapper { assert.doesBelongToStringEnum('eventName', eventName, ExchangeEvents); assert.doesConformToSchema('blockRange', blockRange, schemas.blockRangeSchema); assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); - const logs = await this._getLogsAsync( - this.address, - eventName, - blockRange, - indexFilterValues, - Exchange.compilerOutput.abi, - ); + const logs = await this._exchangeContract.getLogsAsync(eventName, blockRange, indexFilterValues); return logs; } /** @@ -1260,21 +1266,7 @@ export class ExchangeWrapper extends ContractWrapper { * @return TransactionEncoder */ public async transactionEncoderAsync(): Promise { - const exchangeInstance = await this._getExchangeContractAsync(); - const encoder = new TransactionEncoder(exchangeInstance); + const encoder = new TransactionEncoder(this._exchangeContract); return encoder; } - // tslint:enable:no-unused-variable - private async _getExchangeContractAsync(): Promise { - if (this._exchangeContractIfExists !== undefined) { - return this._exchangeContractIfExists; - } - const contractInstance = new ExchangeContract( - this.address, - this._web3Wrapper.getProvider(), - this._web3Wrapper.getContractDefaults(), - ); - this._exchangeContractIfExists = contractInstance; - return this._exchangeContractIfExists; - } } // tslint:disable:max-file-line-count diff --git a/packages/contract-wrappers/src/contract_wrappers/forwarder_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/forwarder_wrapper.ts index d189aa6def..ecca85c1bd 100644 --- a/packages/contract-wrappers/src/contract_wrappers/forwarder_wrapper.ts +++ b/packages/contract-wrappers/src/contract_wrappers/forwarder_wrapper.ts @@ -17,17 +17,16 @@ import { _getDefaultContractAddresses } from '../utils/contract_addresses'; import { decorators } from '../utils/decorators'; import { utils } from '../utils/utils'; -import { ContractWrapper } from './contract_wrapper'; - /** * This class includes the functionality related to interacting with the Forwarder contract. */ -export class ForwarderWrapper extends ContractWrapper { +export class ForwarderWrapper { public abi: ContractAbi = Forwarder.compilerOutput.abi; public address: string; public zrxTokenAddress: string; public etherTokenAddress: string; - private _forwarderContractIfExists?: ForwarderContract; + private readonly _web3Wrapper: Web3Wrapper; + private readonly _forwarderContract: ForwarderContract; /** * Instantiate ForwarderWrapper @@ -49,12 +48,17 @@ export class ForwarderWrapper extends ContractWrapper { zrxTokenAddress?: string, etherTokenAddress?: string, ) { - super(web3Wrapper, networkId); + this._web3Wrapper = web3Wrapper; this.address = address === undefined ? _getDefaultContractAddresses(networkId).exchange : address; this.zrxTokenAddress = zrxTokenAddress === undefined ? _getDefaultContractAddresses(networkId).zrxToken : zrxTokenAddress; this.etherTokenAddress = etherTokenAddress === undefined ? _getDefaultContractAddresses(networkId).etherToken : etherTokenAddress; + this._forwarderContract = new ForwarderContract( + this.address, + this._web3Wrapper.getProvider(), + this._web3Wrapper.getContractDefaults(), + ); } /** * Purchases as much of orders' makerAssets as possible by selling up to 95% of transaction's ETH value. @@ -106,11 +110,9 @@ export class ForwarderWrapper extends ContractWrapper { // compile signatures const signatures = _.map(optimizedMarketOrders, order => order.signature); const feeSignatures = _.map(optimizedFeeOrders, order => order.signature); - // get contract - const forwarderContractInstance = await this._getForwarderContractAsync(); // validate transaction if (orderTransactionOpts.shouldValidate) { - await forwarderContractInstance.marketSellOrdersWithEth.callAsync( + await this._forwarderContract.marketSellOrdersWithEth.callAsync( optimizedMarketOrders, signatures, optimizedFeeOrders, @@ -127,7 +129,7 @@ export class ForwarderWrapper extends ContractWrapper { ); } // send transaction - const txHash = await forwarderContractInstance.marketSellOrdersWithEth.sendTransactionAsync( + const txHash = await this._forwarderContract.marketSellOrdersWithEth.sendTransactionAsync( optimizedMarketOrders, signatures, optimizedFeeOrders, @@ -196,11 +198,9 @@ export class ForwarderWrapper extends ContractWrapper { // compile signatures const signatures = _.map(optimizedMarketOrders, order => order.signature); const feeSignatures = _.map(optimizedFeeOrders, order => order.signature); - // get contract - const forwarderContractInstance = await this._getForwarderContractAsync(); // validate transaction if (orderTransactionOpts.shouldValidate) { - await forwarderContractInstance.marketBuyOrdersWithEth.callAsync( + await this._forwarderContract.marketBuyOrdersWithEth.callAsync( optimizedMarketOrders, makerAssetFillAmount, signatures, @@ -218,7 +218,7 @@ export class ForwarderWrapper extends ContractWrapper { ); } // send transaction - const txHash = await forwarderContractInstance.marketBuyOrdersWithEth.sendTransactionAsync( + const txHash = await this._forwarderContract.marketBuyOrdersWithEth.sendTransactionAsync( optimizedMarketOrders, makerAssetFillAmount, signatures, @@ -236,16 +236,4 @@ export class ForwarderWrapper extends ContractWrapper { ); return txHash; } - private async _getForwarderContractAsync(): Promise { - if (this._forwarderContractIfExists !== undefined) { - return this._forwarderContractIfExists; - } - const contractInstance = new ForwarderContract( - this.address, - this._web3Wrapper.getProvider(), - this._web3Wrapper.getContractDefaults(), - ); - this._forwarderContractIfExists = contractInstance; - return this._forwarderContractIfExists; - } } diff --git a/packages/contract-wrappers/src/contract_wrappers/order_validator_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/order_validator_wrapper.ts index 02bacf000c..e5c1ce8a6c 100644 --- a/packages/contract-wrappers/src/contract_wrappers/order_validator_wrapper.ts +++ b/packages/contract-wrappers/src/contract_wrappers/order_validator_wrapper.ts @@ -11,15 +11,14 @@ import { BalanceAndAllowance, OrderAndTraderInfo, TraderInfo } from '../types'; import { assert } from '../utils/assert'; import { _getDefaultContractAddresses } from '../utils/contract_addresses'; -import { ContractWrapper } from './contract_wrapper'; - /** * This class includes the functionality related to interacting with the OrderValidator contract. */ -export class OrderValidatorWrapper extends ContractWrapper { +export class OrderValidatorWrapper { public abi: ContractAbi = OrderValidator.compilerOutput.abi; public address: string; - private _orderValidatorContractIfExists?: OrderValidatorContract; + private readonly _web3Wrapper: Web3Wrapper; + private readonly _orderValidatorContract: OrderValidatorContract; /** * Instantiate OrderValidatorWrapper * @param web3Wrapper Web3Wrapper instance to use. @@ -28,8 +27,13 @@ export class OrderValidatorWrapper extends ContractWrapper { * will default to the known address corresponding to the networkId. */ constructor(web3Wrapper: Web3Wrapper, networkId: number, address?: string) { - super(web3Wrapper, networkId); + this._web3Wrapper = web3Wrapper; this.address = address === undefined ? _getDefaultContractAddresses(networkId).orderValidator : address; + this._orderValidatorContract = new OrderValidatorContract( + this.address, + this._web3Wrapper.getProvider(), + this._web3Wrapper.getContractDefaults(), + ); } /** * Get an object conforming to OrderAndTraderInfo containing on-chain information of the provided order and address @@ -40,8 +44,7 @@ export class OrderValidatorWrapper extends ContractWrapper { public async getOrderAndTraderInfoAsync(order: SignedOrder, takerAddress: string): Promise { assert.doesConformToSchema('order', order, schemas.signedOrderSchema); assert.isETHAddressHex('takerAddress', takerAddress); - const OrderValidatorContractInstance = await this._getOrderValidatorContractAsync(); - const orderAndTraderInfo = await OrderValidatorContractInstance.getOrderAndTraderInfo.callAsync( + const orderAndTraderInfo = await this._orderValidatorContract.getOrderAndTraderInfo.callAsync( order, takerAddress, ); @@ -66,8 +69,7 @@ export class OrderValidatorWrapper extends ContractWrapper { assert.isETHAddressHex(`takerAddresses[${index}]`, takerAddress), ); assert.assert(orders.length === takerAddresses.length, 'Expected orders.length to equal takerAddresses.length'); - const OrderValidatorContractInstance = await this._getOrderValidatorContractAsync(); - const ordersAndTradersInfo = await OrderValidatorContractInstance.getOrdersAndTradersInfo.callAsync( + const ordersAndTradersInfo = await this._orderValidatorContract.getOrdersAndTradersInfo.callAsync( orders, takerAddresses, ); @@ -91,8 +93,7 @@ export class OrderValidatorWrapper extends ContractWrapper { public async getTraderInfoAsync(order: SignedOrder, takerAddress: string): Promise { assert.doesConformToSchema('order', order, schemas.signedOrderSchema); assert.isETHAddressHex('takerAddress', takerAddress); - const OrderValidatorContractInstance = await this._getOrderValidatorContractAsync(); - const result = await OrderValidatorContractInstance.getTraderInfo.callAsync(order, takerAddress); + const result = await this._orderValidatorContract.getTraderInfo.callAsync(order, takerAddress); return result; } /** @@ -107,8 +108,7 @@ export class OrderValidatorWrapper extends ContractWrapper { assert.isETHAddressHex(`takerAddresses[${index}]`, takerAddress), ); assert.assert(orders.length === takerAddresses.length, 'Expected orders.length to equal takerAddresses.length'); - const OrderValidatorContractInstance = await this._getOrderValidatorContractAsync(); - const result = await OrderValidatorContractInstance.getTradersInfo.callAsync(orders, takerAddresses); + const result = await this._orderValidatorContract.getTradersInfo.callAsync(orders, takerAddresses); return result; } /** @@ -120,8 +120,7 @@ export class OrderValidatorWrapper extends ContractWrapper { public async getBalanceAndAllowanceAsync(address: string, assetData: string): Promise { assert.isETHAddressHex('address', address); assert.isHexString('assetData', assetData); - const OrderValidatorContractInstance = await this._getOrderValidatorContractAsync(); - const balanceAndAllowance = await OrderValidatorContractInstance.getBalanceAndAllowance.callAsync( + const balanceAndAllowance = await this._orderValidatorContract.getBalanceAndAllowance.callAsync( address, assetData, ); @@ -140,8 +139,7 @@ export class OrderValidatorWrapper extends ContractWrapper { public async getBalancesAndAllowancesAsync(address: string, assetDatas: string[]): Promise { assert.isETHAddressHex('address', address); _.forEach(assetDatas, (assetData, index) => assert.isHexString(`assetDatas[${index}]`, assetData)); - const OrderValidatorContractInstance = await this._getOrderValidatorContractAsync(); - const balancesAndAllowances = await OrderValidatorContractInstance.getBalancesAndAllowances.callAsync( + const balancesAndAllowances = await this._orderValidatorContract.getBalancesAndAllowances.callAsync( address, assetDatas, ); @@ -165,20 +163,7 @@ export class OrderValidatorWrapper extends ContractWrapper { public async getERC721TokenOwnerAsync(tokenAddress: string, tokenId: BigNumber): Promise { assert.isETHAddressHex('tokenAddress', tokenAddress); assert.isBigNumber('tokenId', tokenId); - const OrderValidatorContractInstance = await this._getOrderValidatorContractAsync(); - const result = await OrderValidatorContractInstance.getERC721TokenOwner.callAsync(tokenAddress, tokenId); + const result = await this._orderValidatorContract.getERC721TokenOwner.callAsync(tokenAddress, tokenId); return result; } - private async _getOrderValidatorContractAsync(): Promise { - if (this._orderValidatorContractIfExists !== undefined) { - return this._orderValidatorContractIfExists; - } - const contractInstance = new OrderValidatorContract( - this.address, - this._web3Wrapper.getProvider(), - this._web3Wrapper.getContractDefaults(), - ); - this._orderValidatorContractIfExists = contractInstance; - return this._orderValidatorContractIfExists; - } } diff --git a/yarn.lock b/yarn.lock index a5f471f336..1bb3183d1f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,7 +5,6 @@ "@0x-lerna-fork/add@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/add/-/add-3.16.3.tgz#f3f28fbc5f9b7f5a03ff85d5138c8668f41206a9" - integrity sha512-0JYhYofJTPsrEsgfdg1DQrK2jFfTyVru0HUvDYvOuTmpdEu355qTH4OLbikzkKQCXjyYgj78wnCHSEXsI8bHFg== dependencies: "@0x-lerna-fork/bootstrap" "3.16.3" "@0x-lerna-fork/command" "3.16.3" @@ -21,7 +20,6 @@ "@0x-lerna-fork/batch-packages@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/batch-packages/-/batch-packages-3.16.3.tgz#608a732569380e1656d9ca244abe15e1e501dc01" - integrity sha512-vQOfaHCpVezOs4QJumWB9Zh6MqFEON0Q9qq3VGDzh4uCHLNktf12/j5D9bo3hi5t+u6IyqlpSdBBXTEuUNEqYw== dependencies: "@0x-lerna-fork/package-graph" "3.16.3" npmlog "^4.1.2" @@ -29,7 +27,6 @@ "@0x-lerna-fork/bootstrap@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/bootstrap/-/bootstrap-3.16.3.tgz#3dbe62fabe5cb560f0161dd69746c4e9fd73c046" - integrity sha512-Dy/uyCz5XDKYbnOCxmOFgb5U9xsy+C+vtTYjFFFiVSv0LhW9vMj5Htj28Xn24R+mARuDfN7fuayfXML53dfqbQ== dependencies: "@0x-lerna-fork/batch-packages" "3.16.3" "@0x-lerna-fork/command" "3.16.3" @@ -59,7 +56,6 @@ "@0x-lerna-fork/changed@3.16.9": version "3.16.9" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/changed/-/changed-3.16.9.tgz#79cd1597cae00a1700b8248c27f00f8aebf75873" - integrity sha512-njwFVyTlERlMuuAvdqsU1No7tv3MsNlCoquRjQORw7DhdfNENPWs4LzYqwu2OdlLlUiIt12GQI2pGOHJROZ7lg== dependencies: "@0x-lerna-fork/collect-updates" "3.16.3" "@0x-lerna-fork/command" "3.16.3" @@ -70,7 +66,6 @@ "@0x-lerna-fork/check-working-tree@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/check-working-tree/-/check-working-tree-3.16.3.tgz#0792cd0f56f19cee42893bcbbec15223bf22c292" - integrity sha512-9625yZIN8gwEZrX5oMzZGt4SLu1pcaWIKPpyvfcsbfm8+vu1ShV7U7WunXQ1zlfPR+h4sinp9KNYTgTpRo77Xw== dependencies: "@0x-lerna-fork/collect-uncommitted" "3.16.3" "@0x-lerna-fork/describe-ref" "3.16.3" @@ -79,7 +74,6 @@ "@0x-lerna-fork/child-process@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/child-process/-/child-process-3.16.3.tgz#7f2a764b8ff9399e16a7dfde0149e82129ca64aa" - integrity sha512-T90h77/9hmBe11p2+YrWG9wJKtjGnYDwgFE7R2HWk4R+a2JTKnV03Xa/1dZHIqzD2rf1Ih7nzXQcYi13wrsUhA== dependencies: chalk "^2.3.1" execa "^1.0.0" @@ -88,7 +82,6 @@ "@0x-lerna-fork/clean@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/clean/-/clean-3.16.3.tgz#c5843174279305d8aa078528fa95a8d62070e783" - integrity sha512-GwvySg2k6BQNm3W8/AoCcbw/vFhWdIiAxV6qGDG/xzN3OUx6vj90UdzI+c3oiISU/MIvS3ioD8/iQ3+5bJEMww== dependencies: "@0x-lerna-fork/command" "3.16.3" "@0x-lerna-fork/filter-options" "3.16.3" @@ -102,7 +95,6 @@ "@0x-lerna-fork/cli@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/cli/-/cli-3.16.3.tgz#d12da92b6fceb91e27cc3e426584bbe8d746253d" - integrity sha512-P0i1HiIBG8dLH3YsYeIlAmixj1LwHUDb4zOOcMss7LjuEateAATqm5Uma0SDqpsV2+3b9xVakSCzth6FJortCQ== dependencies: "@0x-lerna-fork/global-options" "3.16.3" dedent "^0.7.0" @@ -112,7 +104,6 @@ "@0x-lerna-fork/collect-uncommitted@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/collect-uncommitted/-/collect-uncommitted-3.16.3.tgz#f424cda5ab3bb237fd992010f9324bcf2d7f8c22" - integrity sha512-hi9EmQltk/jzPT/Jb7k+P1dqCNDkanZvq2V1Q2SKQg3gwpX6lrSQJZVhnWPSySE89nBe5fhnswW8/KC7w0T4Wg== dependencies: "@0x-lerna-fork/child-process" "3.16.3" chalk "^2.3.1" @@ -122,7 +113,6 @@ "@0x-lerna-fork/collect-updates@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/collect-updates/-/collect-updates-3.16.3.tgz#bc45dc911b36f623443febabc8ce59647361903c" - integrity sha512-rCsR5e9Ce3FcEMJvh0zWSd/RQyrM8wHzm3RNkZ/Jh1ipoUItAdRUbeTKSKQzXqFhpZJWKgDAH0bDyCgZYfRgrQ== dependencies: "@0x-lerna-fork/child-process" "3.16.3" "@0x-lerna-fork/describe-ref" "3.16.3" @@ -133,7 +123,6 @@ "@0x-lerna-fork/command@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/command/-/command-3.16.3.tgz#5e10612a592869bdb7b588fd1f133e2c2c60fb26" - integrity sha512-Xvbt3VlsgDqCYFWw9djGmoYqztYjgvEc3GTevEke4VfOQffvhQ0IhjjOkGnBE2shhWvX59FSDu8FqnQejh+oEA== dependencies: "@0x-lerna-fork/child-process" "3.16.3" "@0x-lerna-fork/package-graph" "3.16.3" @@ -149,7 +138,6 @@ "@0x-lerna-fork/conventional-commits@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/conventional-commits/-/conventional-commits-3.16.3.tgz#03badecf115d788bee198f0cfd73ff9792b90428" - integrity sha512-BPS4pRnGoxL+IVagnWs6E5vUeWharFL5U6aXuNyvD/+eYm49NBkzrRio6QwlI7O0cifDt0F4Xh4AdTiZ1A4AdQ== dependencies: "@0x-lerna-fork/validation-error" "3.16.3" conventional-changelog-angular "^5.0.3" @@ -166,7 +154,6 @@ "@0x-lerna-fork/create-symlink@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/create-symlink/-/create-symlink-3.16.3.tgz#d6b5e5cf9a693713bbb4a98085d845b8abd88cd9" - integrity sha512-AZkH+ScxWc0hJ14s1ldwTOQB7Gf7FROtSqO6xAJejBX7Cckwg6Akrm0SeR8w9Rt4P1pbeHJnRrJzqbh5a3iN5g== dependencies: cmd-shim "^2.0.2" fs-extra "^8.1.0" @@ -175,7 +162,6 @@ "@0x-lerna-fork/create@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/create/-/create-3.16.3.tgz#9db40df227b84ac6b199e2d80e6023119b2a1aee" - integrity sha512-S6aaPk1uMDbHLzUE7C2A2UjxiSFnOKJOSIXaVMtN6tGFtj5Y0+Z5IVE3VruYNlpYSUTTxomi32kAYP7dAXnQEg== dependencies: "@0x-lerna-fork/child-process" "3.16.3" "@0x-lerna-fork/command" "3.16.3" @@ -199,7 +185,6 @@ "@0x-lerna-fork/describe-ref@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/describe-ref/-/describe-ref-3.16.3.tgz#62849dc0d7f0550c84a87637c2452e3c0d28e012" - integrity sha512-eYFnppVNzlvVnBS+erIbKPTkx9SDfLmXBoYd9FCSG+Xwr3VZhOkpD0kw4l3fzGfXccg13A8EREoWKTu26O18Zw== dependencies: "@0x-lerna-fork/child-process" "3.16.3" npmlog "^4.1.2" @@ -207,7 +192,6 @@ "@0x-lerna-fork/diff@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/diff/-/diff-3.16.3.tgz#eb7e5474ba7897887ac7c0a8f319fb12512a4027" - integrity sha512-Wb2fbRnR66/kTdp+KgkGAhqB6IP9SZeESAyVfLLUjvADttVqMXLAgiPIUa1/ENZJzR0V6RLDMrw8rj1zQx/1TQ== dependencies: "@0x-lerna-fork/child-process" "3.16.3" "@0x-lerna-fork/command" "3.16.3" @@ -217,7 +201,6 @@ "@0x-lerna-fork/exec@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/exec/-/exec-3.16.3.tgz#548e7c7f8042fcfad2076c193bf9034d97ffb279" - integrity sha512-CDOjLsrutJse6ZndUVdj0cB+W8CndvJT2QHv9dizK4cO/L/73n8FhyE8f1Eh5O7/vwWmoiuMhvDa9XfVVTXMpA== dependencies: "@0x-lerna-fork/child-process" "3.16.3" "@0x-lerna-fork/command" "3.16.3" @@ -229,7 +212,6 @@ "@0x-lerna-fork/filter-options@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/filter-options/-/filter-options-3.16.3.tgz#597f96acf5b2b5608a292b3dbba76a3e1abdfc5c" - integrity sha512-54gsepEYQsyld4tdsSKLSHjjWMSdsIzq7jSdxb+6mUjRFytOBsuGZEDE/Rm09hCM5DkE/E74mmiuVE9IuHmdvA== dependencies: "@0x-lerna-fork/collect-updates" "3.16.3" "@0x-lerna-fork/filter-packages" "3.16.3" @@ -238,7 +220,6 @@ "@0x-lerna-fork/filter-packages@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/filter-packages/-/filter-packages-3.16.3.tgz#867b39186306501d22b254b3182b235c6c244c7c" - integrity sha512-t1/6iuaEmeFdR1+IICGtBzKs3mF0tfyZ5UbZyIZIhBfk2sXBf6WRKtY2U4HOjCQMkcyHZ6BfB7S/lpt4CV8SHw== dependencies: "@0x-lerna-fork/validation-error" "3.16.3" multimatch "^3.0.0" @@ -247,14 +228,12 @@ "@0x-lerna-fork/get-npm-exec-opts@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/get-npm-exec-opts/-/get-npm-exec-opts-3.16.3.tgz#32d11026165d417609079b694f7b58cb8ddf550d" - integrity sha512-7OU/dRMNh8WHEc99iGVIUni4sYRneP5TuNkB82xFDsKUMxLtMGaty9bSeNI/1kMthc3W35Sn5Vvh1zSREvxwaw== dependencies: npmlog "^4.1.2" "@0x-lerna-fork/get-packed@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/get-packed/-/get-packed-3.16.3.tgz#cce3b63bf4aaf2d213e1ace78176f4ead1aba535" - integrity sha512-DpdSqfWOg8++p0Ub9PiYP9WBRmCfUvF2u7tT7FTD9gT9+x1a25RlTiuY2TDbwq+veih6+/l6ZfhtwDqqtBDgwQ== dependencies: fs-extra "^8.1.0" ssri "^6.0.1" @@ -263,7 +242,6 @@ "@0x-lerna-fork/github-client@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/github-client/-/github-client-3.16.3.tgz#d9bdb373a061749496b4df91f633127b5850aff7" - integrity sha512-VvjK8QeqqLmPUp4BeTexVgOGsZcucqRmLr1NU6gs2hA6g4KJKYU8wrRUvtfGlyPqwUBgvERTdglVNW/ldOi8fg== dependencies: "@0x-lerna-fork/child-process" "3.16.3" "@octokit/plugin-enterprise-rest" "^3.6.1" @@ -274,7 +252,6 @@ "@0x-lerna-fork/gitlab-client@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/gitlab-client/-/gitlab-client-3.16.3.tgz#7ef534d6d5189e8897d4ad267818aaeb0b35500d" - integrity sha512-DSslgao9+WgFnelMVS2QcY1WADNWi3JgXnlDyFynfSB0RIsecpbOtJzoiQMcW67YrtyWYf2QuJ4Axyc6HrrqHQ== dependencies: node-fetch "^2.5.0" npmlog "^4.1.2" @@ -283,12 +260,10 @@ "@0x-lerna-fork/global-options@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/global-options/-/global-options-3.16.3.tgz#53b20023263d041a0b6f58903f3904652b072c9e" - integrity sha512-zdrBxvm2upaWD3bbS5F81kImqc18Po1oMp7QpKbLxReZfjCI8jAsmiqpC7Kr4aDxnBJ9ZtlTQNWO+tKvhMlKuA== "@0x-lerna-fork/has-npm-version@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/has-npm-version/-/has-npm-version-3.16.3.tgz#8a17bf37c54f2718c02659988352d3ded182c542" - integrity sha512-kMqg4Py7NujF9r182/dYByYC6eRuCh9YSAwJsC8PiGZkoum5e7twvTuLP5IEUvhjK7LsypgeQpeYLRC/SuNs7w== dependencies: "@0x-lerna-fork/child-process" "3.16.3" semver "^6.2.0" @@ -296,7 +271,6 @@ "@0x-lerna-fork/import@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/import/-/import-3.16.3.tgz#5d31c451f1a75887be6a03c2220f0b3ee17435c0" - integrity sha512-x3smfILkOT2f/9DoS1pe/4k+r8LG7jEGBu7jOq5Yx1KAxGcuzG7m8oqAkW0EX9MDDfENTcbcM4WVrVrPgvvXsQ== dependencies: "@0x-lerna-fork/child-process" "3.16.3" "@0x-lerna-fork/command" "3.16.3" @@ -310,7 +284,6 @@ "@0x-lerna-fork/init@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/init/-/init-3.16.3.tgz#314d2335ae59930cb4b2c3e094f6caa6b0a14d25" - integrity sha512-atmitRb0fzshUkbPoB0kB3+yc+9Oh/kqyhVMVIT95WPpiDPcy9pzzcUhts1droAW+YcjzTXOF/twh25wkQft4g== dependencies: "@0x-lerna-fork/child-process" "3.16.3" "@0x-lerna-fork/command" "3.16.3" @@ -321,7 +294,6 @@ "@0x-lerna-fork/lerna@3.16.9": version "3.16.9" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/lerna/-/lerna-3.16.9.tgz#9a68fc960545a50ecf03b03ad88300f884e23fe9" - integrity sha512-4XegTdnSZCJG2Tg2aVtY0j09AyJ54z7ZMaH3c6zEwFk/opdXFsE1HkyYY9Ar2Qmzlo8HkoWLzo4wn2tsd9Bkiw== dependencies: "@0x-lerna-fork/add" "3.16.3" "@0x-lerna-fork/bootstrap" "3.16.3" @@ -344,7 +316,6 @@ "@0x-lerna-fork/link@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/link/-/link-3.16.3.tgz#63016f105f6f5861a23af26a945a4fbf58493088" - integrity sha512-/nrrFVDP5UcTNU9XdB+6lBXER7GRCI/QQqp70D4NTZg8B8LZ6BbSR9JJDs3l//vaL54WlYGXEGHFXhT9XaO5cg== dependencies: "@0x-lerna-fork/command" "3.16.3" "@0x-lerna-fork/package-graph" "3.16.3" @@ -355,7 +326,6 @@ "@0x-lerna-fork/list@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/list/-/list-3.16.3.tgz#4d3cbaa753daaae63741aa05b7ad18b8a035c2a1" - integrity sha512-jzAiSqO1aHgowQOWQ44Hckd7hwRXrJNA3P35R6gHzarGtjUwNqwJW6pte08+QVMZvaG4E/xnQH9J/6Eg52s6VA== dependencies: "@0x-lerna-fork/command" "3.16.3" "@0x-lerna-fork/filter-options" "3.16.3" @@ -365,7 +335,6 @@ "@0x-lerna-fork/listable@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/listable/-/listable-3.16.3.tgz#e7e94e76852f5aed704fec90d4a3584b6210cd9d" - integrity sha512-affHM7YlHYizk7y3yBBwd6A+xBpfxyAUeAA2rSmKt2x5GkSajhisb0qXqwNVSp8+LKxw7EO3xiLGeO05LeiTGA== dependencies: "@0x-lerna-fork/query-graph" "3.16.3" chalk "^2.3.1" @@ -374,7 +343,6 @@ "@0x-lerna-fork/log-packed@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/log-packed/-/log-packed-3.16.3.tgz#9515f92698dc5c21353c924cddeb2ac143b17e78" - integrity sha512-7yZ/16xh3Sa/bYECx33w5cGzYM88tUaEXfxQ1c1BClt7twNPES51uG9XR5gcPA6Ss7iJURREd7iAJxzO0KaKtA== dependencies: byte-size "^5.0.1" columnify "^1.5.4" @@ -384,7 +352,6 @@ "@0x-lerna-fork/npm-conf@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/npm-conf/-/npm-conf-3.16.3.tgz#6b611ba4795abed600bc2ce85f8a48f59fa6ecdd" - integrity sha512-cUmvOg7o+t2eFEK+1WBm0vdPwkXkxJMqGculvc0xylYePYfljCo3cXUr8FMCDsYvQG10sjcYuI1jv4YUwNt8yw== dependencies: config-chain "^1.1.11" pify "^4.0.1" @@ -392,7 +359,6 @@ "@0x-lerna-fork/npm-dist-tag@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/npm-dist-tag/-/npm-dist-tag-3.16.3.tgz#d2c1e8fecf7c3689d56b79d7cb9a2256b02f4ecf" - integrity sha512-ZvLrIwjznTTaGO9iJbRpbbhWOg1S7vFxMaEFPU0WGBq4n90pwpWYbGMb7EpJtJfDGAyqRpcSBB6vmPhInokhTw== dependencies: "@0x-lerna-fork/otplease" "3.16.3" "@evocateur/npm-registry-fetch" "^4.0.0" @@ -403,7 +369,6 @@ "@0x-lerna-fork/npm-install@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/npm-install/-/npm-install-3.16.3.tgz#ff34709ac883685a9c455bf45e5bd289f06919dc" - integrity sha512-if38uM0xY2MvKgSNXR9vfjjO++N9/r+9KIlDPBRGSDMnbjw0ty+//DSKH32DP4m1gv45OdExz3YmCZ4A6r5Hdg== dependencies: "@0x-lerna-fork/child-process" "3.16.3" "@0x-lerna-fork/get-npm-exec-opts" "3.16.3" @@ -416,7 +381,6 @@ "@0x-lerna-fork/npm-publish@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/npm-publish/-/npm-publish-3.16.3.tgz#82c40a3db67ca1528f4bc981462640815d47854e" - integrity sha512-p/0Y5ryGq7hHG37pQB85uAuedrOQ+LH9cPUYqAw6aLomf+j22edo9VsLvAHwd8oYzcUZhFBUvhHzAPta0Ql8gg== dependencies: "@0x-lerna-fork/otplease" "3.16.3" "@0x-lerna-fork/run-lifecycle" "3.16.3" @@ -431,7 +395,6 @@ "@0x-lerna-fork/npm-run-script@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/npm-run-script/-/npm-run-script-3.16.3.tgz#fcc9ae96763fde5a8262cc4d0345a278ada4632c" - integrity sha512-S57W0omTjaMoSGZ64nmtFepkbM6Ro+n8DC5fpK7bjlZ7HXxP8OOySvHIcItIiwswchVwOhm5lmNnoIOwY6IW6A== dependencies: "@0x-lerna-fork/child-process" "3.16.3" "@0x-lerna-fork/get-npm-exec-opts" "3.16.3" @@ -440,7 +403,6 @@ "@0x-lerna-fork/otplease@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/otplease/-/otplease-3.16.3.tgz#fc4a0b3c802b234a241016e5ba6ef74311ee39b1" - integrity sha512-pABSUlJY7UtbjMxal9vpQLvB/zQIMC3WnTspfiY8ysE4KDIsQU8XIBMvQYDzhD/+RzWWmXHB8p83Oso16Aezig== dependencies: "@0x-lerna-fork/prompt" "3.16.3" figgy-pudding "^3.5.1" @@ -448,14 +410,12 @@ "@0x-lerna-fork/output@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/output/-/output-3.16.3.tgz#d6fb8e2490d0f0befb84fd6f37d44269acb499c5" - integrity sha512-tRNZdY4tsN3/V28PQQFzTgA1rifhIq6hmhW9smXcG+ulq1lSSED5GJyxY9SDu4IpuSRnfQdcXkJS5Ms1iLNTQg== dependencies: npmlog "^4.1.2" "@0x-lerna-fork/pack-directory@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/pack-directory/-/pack-directory-3.16.3.tgz#eea63417786c883f500cb95a83bed8239a54f89f" - integrity sha512-waU4vGkfwAGDHkKUNhR3L5A2/Bdi0QMy1o86EGlTRLsqcw8OSdy/q+sHoq2SHw+BTPOxRYHHvvQEcH5dwubWdQ== dependencies: "@0x-lerna-fork/get-packed" "3.16.3" "@0x-lerna-fork/package" "3.16.3" @@ -469,7 +429,6 @@ "@0x-lerna-fork/package-graph@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/package-graph/-/package-graph-3.16.3.tgz#4db4b0be44c947df1326bdb2b61eed858e7f1d9f" - integrity sha512-43Gb4SUTEVZkw0TdtRQgAyXCkW3slf1gnd/xvdX60mwevyV/0m/mpxETLK3YqEdjCDZZwYbA5OV/VB2SCC/dIw== dependencies: "@0x-lerna-fork/prerelease-id-from-version" "3.16.3" "@0x-lerna-fork/validation-error" "3.16.3" @@ -480,7 +439,6 @@ "@0x-lerna-fork/package@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/package/-/package-3.16.3.tgz#1391f60401f9b26a6d11368b0f24972d1f403ede" - integrity sha512-D6It1svcFUpcdE1nlPd1KW0aSvugIwQaynBDwclVJtH3F/ISJhsnnK4zerURxvtc3JExa5AVUHpPiaLtLV3LDw== dependencies: load-json-file "^5.3.0" npm-package-arg "^6.1.0" @@ -489,14 +447,12 @@ "@0x-lerna-fork/prerelease-id-from-version@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/prerelease-id-from-version/-/prerelease-id-from-version-3.16.3.tgz#e5b91f8852f8a54c338b91fad652a835fb421c33" - integrity sha512-NCtbhukd2UrCQMxkMSsJQkvQ6tELz67jb5eAzRAhD1IDywS5+9sc/jKMSXQBHqEukbtYcvSNlqfK+HMEnNdovA== dependencies: semver "^6.2.0" "@0x-lerna-fork/project@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/project/-/project-3.16.3.tgz#f087a4b328b3cda028d69bf3bb60f801afab6239" - integrity sha512-6RPORjsKX+JRp+EvnWnVZFIUPeTC/wX2Uq+BaSQnrKNlMJSHLLo9EoYibaBMWPJbiWB4WU6Crc9Nbxk2MEMijg== dependencies: "@0x-lerna-fork/package" "3.16.3" "@0x-lerna-fork/validation-error" "3.16.3" @@ -514,7 +470,6 @@ "@0x-lerna-fork/prompt@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/prompt/-/prompt-3.16.3.tgz#e62bd75a983ca43134400baf713a8c922d904b82" - integrity sha512-hPj/P+7HMmN8l6HupH6gnVk54EQSZzo7rpnQDCKdh9PPVb4HfVCA4JBx07TC1ghZoheCkrWJw2DwgQgtIMAdOA== dependencies: inquirer "^6.2.0" npmlog "^4.1.2" @@ -522,7 +477,6 @@ "@0x-lerna-fork/publish@3.16.9": version "3.16.9" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/publish/-/publish-3.16.9.tgz#282a4bcb660036f39c5f8bab18c8744ed8a073c9" - integrity sha512-OVafQ6TmhRSxNSUEtSSbwIS63VXdbzCt73j10HYvMEpzm7SjQhM5JvRDraBBn9gRjm/M4oH7mVffKcQBQYUw/w== dependencies: "@0x-lerna-fork/check-working-tree" "3.16.3" "@0x-lerna-fork/child-process" "3.16.3" @@ -558,14 +512,12 @@ "@0x-lerna-fork/pulse-till-done@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/pulse-till-done/-/pulse-till-done-3.16.3.tgz#b637ebb059bcd13e6786f4c8837a83a240b0d7a2" - integrity sha512-4zC5YPyCF52biguzTrlkSlvU1yxG6X2GZ4ObtF8+e1T+/0S5OHFa7aMEPgwKm6ZFd4Ue54YRRku+62MnaMtgrA== dependencies: npmlog "^4.1.2" "@0x-lerna-fork/query-graph@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/query-graph/-/query-graph-3.16.3.tgz#213a0838def9e4001a07860abf9b6919370f796e" - integrity sha512-TnGRvx1d3LQOK1dgLHqjyQyHkJSawGImhNHBxB6ZQ3gaobR0k3iUPEltfBJNcT9xw7QEuuqhLGRBmfmp5M64IA== dependencies: "@0x-lerna-fork/package-graph" "3.16.3" figgy-pudding "^3.5.1" @@ -573,7 +525,6 @@ "@0x-lerna-fork/resolve-symlink@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/resolve-symlink/-/resolve-symlink-3.16.3.tgz#d5704ca27ff5112077ba66978716758c50354f55" - integrity sha512-YOfbzQubTbFnra3guht6UOBz0+hTMg7IdMbf7s1BGRp2WLy8UiXa2StwUu2XTxsn2TsEH+0Se7HQeH9mlYJ+7Q== dependencies: fs-extra "^8.1.0" npmlog "^4.1.2" @@ -582,7 +533,6 @@ "@0x-lerna-fork/rimraf-dir@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/rimraf-dir/-/rimraf-dir-3.16.3.tgz#7102ca950826020527755de967af06402d87f7f4" - integrity sha512-iigmNltw9UUn3h0QB7GAywC/MA3Vn1nZdDPlJcxMK5vqUv6p7WlTpK0JzVHbFgucwyIKFcvWCKYbUbCKKyCu3A== dependencies: "@0x-lerna-fork/child-process" "3.16.3" npmlog "^4.1.2" @@ -592,7 +542,6 @@ "@0x-lerna-fork/run-lifecycle@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/run-lifecycle/-/run-lifecycle-3.16.3.tgz#e33e760f178e98bb209346bdc794c7751357d430" - integrity sha512-5z+9PnSxUBy/YbacU347VlN9GcAd5hpk8c9c+cwPmACwuIBaRQ7kz36zz0VgG2WYCiYpLzL776a0/MU2KXereQ== dependencies: "@0x-lerna-fork/npm-conf" "3.16.3" figgy-pudding "^3.5.1" @@ -602,7 +551,6 @@ "@0x-lerna-fork/run-parallel-batches@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/run-parallel-batches/-/run-parallel-batches-3.16.3.tgz#c4a780acaf79d42175f8179df6dba2edd924b10a" - integrity sha512-FEB9g/XjjCOochhFhyrT3QbamgyrFFZM1TlVp+IwHeP1W3tXMOISSD3QYKQfurZLX/jFZbnm6VSd8NR4kCafQg== dependencies: p-map "^2.1.0" p-map-series "^1.0.0" @@ -610,7 +558,6 @@ "@0x-lerna-fork/run-topologically@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/run-topologically/-/run-topologically-3.16.3.tgz#d82e0924c74875c9aca26f6c15353383aad3cc67" - integrity sha512-VDUSQayQ4+7BH+rihBOSrZdmTCIlfu1/uV6DAAlaxYTsAkLHsi93339iWMxwWpICH8sMHxO83zi1GYzEBa20Mg== dependencies: "@0x-lerna-fork/query-graph" "3.16.3" figgy-pudding "^3.5.1" @@ -619,7 +566,6 @@ "@0x-lerna-fork/run@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/run/-/run-3.16.3.tgz#4da4fab40d6366f808c528ee4451626a29387575" - integrity sha512-mU15Q4aC7cRj7y5a6xtW5LDfXXdl2nbc4SNPbJQw/8Csu/ewQvbcP0gcWFL4AgV/xemooPStb8UzFSznweJO4Q== dependencies: "@0x-lerna-fork/command" "3.16.3" "@0x-lerna-fork/filter-options" "3.16.3" @@ -633,7 +579,6 @@ "@0x-lerna-fork/symlink-binary@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/symlink-binary/-/symlink-binary-3.16.3.tgz#f55ea0bd5098f22778350b2acb3cc4ac9df2a904" - integrity sha512-ayiOMWvZVxfwDLFz0CZcX4eKukIegiuqbSU966LLt32QpkxH2AMr1W5TZP9uQterZwz7N5IQedIUovmZrE9oQQ== dependencies: "@0x-lerna-fork/create-symlink" "3.16.3" "@0x-lerna-fork/package" "3.16.3" @@ -643,7 +588,6 @@ "@0x-lerna-fork/symlink-dependencies@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/symlink-dependencies/-/symlink-dependencies-3.16.3.tgz#36f8179cae48c615aecfa0723febdb253c58d4cf" - integrity sha512-hhU1/d9XAAGKOxwADdAqsTnVV8T+RdDag2cBarFP1wcZqdS2PaNd22BeQ5++tKq87JyBBduV7/sYbW2X6QsmlA== dependencies: "@0x-lerna-fork/create-symlink" "3.16.3" "@0x-lerna-fork/resolve-symlink" "3.16.3" @@ -656,19 +600,16 @@ "@0x-lerna-fork/timer@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/timer/-/timer-3.16.3.tgz#d40dbf675140a24410f0fe54fb8293ec8b71cd2c" - integrity sha512-N6rMAHu31Fu7PTIA+C1DYpmNuAjQSpGQYxlERtbGCzfbm8nLUaurn0px7Lj1rLL6jyyGCO8fiI20Dw3g09bH5w== "@0x-lerna-fork/validation-error@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/validation-error/-/validation-error-3.16.3.tgz#169da7cac66e91aa42fbd68d451b2fd7e57a38df" - integrity sha512-ql6NOzvYSJpLzIx4qff5yt35f+BQm3z0OE6Iwrm78CeyvWgNFd1Hx/mwRljcX0gZNVztOkOqVOHXd4lgJcTlyg== dependencies: npmlog "^4.1.2" "@0x-lerna-fork/version@3.16.9": version "3.16.9" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/version/-/version-3.16.9.tgz#71df8f8f7af117b72764219577301b7b66c2accf" - integrity sha512-QkHjxElSdh0UdAQ3bEgk1ANDeaNwLkdCXA2gwEIg9FLS+Z/Dc6U2DZRng7rqX99tRkKjdnFOZJeawieCy5t0Sg== dependencies: "@0x-lerna-fork/check-working-tree" "3.16.3" "@0x-lerna-fork/child-process" "3.16.3" @@ -698,7 +639,6 @@ "@0x-lerna-fork/write-log-file@3.16.3": version "3.16.3" resolved "https://registry.yarnpkg.com/@0x-lerna-fork/write-log-file/-/write-log-file-3.16.3.tgz#5400b33a7f6eb58d052ff4bc423fde1f61b340be" - integrity sha512-slzqULAtnP2GS1h4mG2Il3/phqmXMOM9e+uDNYMaF8B9mF/zhKPKldyV1njwO5sHUTkInW+rmBRx5Gas/PvULg== dependencies: npmlog "^4.1.2" write-file-atomic "^2.3.0" @@ -966,7 +906,6 @@ "@evocateur/libnpmaccess@^3.1.2": version "3.1.2" resolved "https://registry.yarnpkg.com/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845" - integrity sha512-KSCAHwNWro0CF2ukxufCitT9K5LjL/KuMmNzSu8wuwN2rjyKHD8+cmOsiybK+W5hdnwc5M1SmRlVCaMHQo+3rg== dependencies: "@evocateur/npm-registry-fetch" "^4.0.0" aproba "^2.0.0" @@ -977,7 +916,6 @@ "@evocateur/libnpmpublish@^1.2.2": version "1.2.2" resolved "https://registry.yarnpkg.com/@evocateur/libnpmpublish/-/libnpmpublish-1.2.2.tgz#55df09d2dca136afba9c88c759ca272198db9f1a" - integrity sha512-MJrrk9ct1FeY9zRlyeoyMieBjGDG9ihyyD9/Ft6MMrTxql9NyoEx2hw9casTIP4CdqEVu+3nQ2nXxoJ8RCXyFg== dependencies: "@evocateur/npm-registry-fetch" "^4.0.0" aproba "^2.0.0" @@ -992,7 +930,6 @@ "@evocateur/npm-registry-fetch@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@evocateur/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz#8c4c38766d8d32d3200fcb0a83f064b57365ed66" - integrity sha512-k1WGfKRQyhJpIr+P17O5vLIo2ko1PFLKwoetatdduUSt/aQ4J2sJrJwwatdI5Z3SiYk/mRH9S3JpdmMFd/IK4g== dependencies: JSONStream "^1.3.4" bluebird "^3.5.1" @@ -1005,7 +942,6 @@ "@evocateur/pacote@^9.6.3": version "9.6.3" resolved "https://registry.yarnpkg.com/@evocateur/pacote/-/pacote-9.6.3.tgz#bcd7adbd3c2ef303aa89bd24166f06dd9c080d89" - integrity sha512-ExqNqcbdHQprEgKnY/uQz7WRtyHRbQxRl4JnVkSkmtF8qffRrF9K+piZKNLNSkRMOT/3H0e3IP44QVCHaXMWOQ== dependencies: "@evocateur/npm-registry-fetch" "^4.0.0" bluebird "^3.5.3" @@ -1652,12 +1588,10 @@ "@nodelib/fs.stat@^1.1.2": version "1.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== "@octokit/endpoint@^5.1.0": version "5.3.1" resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-5.3.1.tgz#4a1714c7d35c1ed074e898c5f4a9897541581f79" - integrity sha512-4mKqSQfeTRFpQMUGIUG1ewdQT64b2YpvjG2dE1x7nhQupdI/AjdgdcIsmPtRFEXlih/uLQLRWJL4FrivpQdC7A== dependencies: deepmerge "4.0.0" is-plain-object "^3.0.0" @@ -1667,12 +1601,10 @@ "@octokit/plugin-enterprise-rest@^3.6.1": version "3.6.2" resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-3.6.2.tgz#74de25bef21e0182b4fa03a8678cd00a4e67e561" - integrity sha512-3wF5eueS5OHQYuAEudkpN+xVeUsg8vYEMMenEzLphUZ7PRZ8OJtDcsreL3ad9zxXmBbaFWzLmFcdob5CLyZftA== "@octokit/request-error@^1.0.1", "@octokit/request-error@^1.0.2": version "1.0.4" resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-1.0.4.tgz#15e1dc22123ba4a9a4391914d80ec1e5303a23be" - integrity sha512-L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig== dependencies: deprecation "^2.0.0" once "^1.4.0" @@ -1680,7 +1612,6 @@ "@octokit/request@^5.0.0": version "5.0.1" resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.0.1.tgz#6705c9a883db0ac0f58cee717e806b6575d4a199" - integrity sha512-SHOk/APYpfrzV1RNf7Ux8SZi+vZXhMIB2dBr4TQR6ExMX8R4jcy/0gHw26HLe1dWV7Wxe9WzYyDSEC0XwnoCSQ== dependencies: "@octokit/endpoint" "^5.1.0" "@octokit/request-error" "^1.0.1" @@ -1693,7 +1624,6 @@ "@octokit/rest@^16.28.4": version "16.28.5" resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.28.5.tgz#56a5a37fc45a6520199189ac3e5eb09420c0ef6f" - integrity sha512-W8hHSm6103c+lNdTuQBMKdZNDCOFFXJdatj92g2d6Hqk134EMDHRc02QWI/Fs1WGnWZ8Leb0QFbXPKO2njeevQ== dependencies: "@octokit/request" "^5.0.0" "@octokit/request-error" "^1.0.2" @@ -1887,7 +1817,6 @@ "@types/glob@^7.1.1": version "7.1.1" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" - integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== dependencies: "@types/events" "*" "@types/minimatch" "*" @@ -1996,7 +1925,6 @@ "@types/mocha@^5.2.7": version "5.2.7" resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-5.2.7.tgz#315d570ccb56c53452ff8638738df60726d5b6ea" - integrity sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ== "@types/nock@^10.0.1": version "10.0.1" @@ -2612,7 +2540,6 @@ ansi-align@^2.0.0: ansi-colors@3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" - integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== ansi-colors@^3.0.0: version "3.1.0" @@ -2699,7 +2626,6 @@ anymatch@^2.0.0: anymatch@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.0.3.tgz#2fb624fe0e84bccab00afee3d0006ed310f22f09" - integrity sha512-c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -2770,7 +2696,6 @@ array-differ@^1.0.0: array-differ@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-2.1.0.tgz#4b9c1c3f14b906757082925769e8ab904f4801b1" - integrity sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w== array-each@^1.0.1: version "1.0.1" @@ -2815,7 +2740,6 @@ array-slice@^1.0.0: array-union@^1.0.1, array-union@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= dependencies: array-uniq "^1.0.1" @@ -2898,7 +2822,6 @@ async-each@^1.0.0: async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== async-eventemitter@^0.2.2: version "0.2.4" @@ -2959,7 +2882,6 @@ asynckit@^0.4.0: atob-lite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" - integrity sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY= atob@^2.0.0: version "2.1.0" @@ -3838,7 +3760,6 @@ beeper@^1.0.0: before-after-hook@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" - integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== bfj@^6.1.1: version "6.1.1" @@ -3884,7 +3805,6 @@ binary-extensions@^1.0.0: binary-extensions@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" - integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== bindings@^1.2.1, bindings@^1.3.0: version "1.3.0" @@ -3962,7 +3882,6 @@ bluebird@^3.5.0, bluebird@^3.5.1: bluebird@^3.5.3, bluebird@^3.5.5: version "3.5.5" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" - integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== bn.js@4.11.6: version "4.11.6" @@ -4096,7 +4015,6 @@ braces@^2.3.1, braces@^2.3.2: braces@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" @@ -4131,7 +4049,6 @@ browser-resolve@^1.11.3: browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.0.6: version "1.2.0" @@ -4245,7 +4162,6 @@ bser@^2.0.0: btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" - integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= buffer-compare@=1.1.1: version "1.1.1" @@ -4346,7 +4262,6 @@ byte-size@^4.0.3: byte-size@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-5.0.1.tgz#4b651039a5ecd96767e71a3d7ed380e48bed4191" - integrity sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw== bytes@3.0.0, bytes@^3.0.0: version "3.0.0" @@ -4405,7 +4320,6 @@ cacache@^11.0.1, cacache@^11.0.2, cacache@^11.2.0: cacache@^12.0.0: version "12.0.2" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.2.tgz#8db03205e36089a3df6954c66ce92541441ac46c" - integrity sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg== dependencies: bluebird "^3.5.5" chownr "^1.1.1" @@ -4459,14 +4373,12 @@ call-me-maybe@^1.0.1: caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= dependencies: callsites "^2.0.0" caller-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= dependencies: caller-callsite "^2.0.0" @@ -4521,7 +4433,6 @@ camelcase@^4.0.0, camelcase@^4.1.0: camelcase@^5.0.0: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-api@^1.5.2: version "1.6.1" @@ -4706,7 +4617,6 @@ chokidar-cli@^1.2.0: chokidar@^1.0.1: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= dependencies: anymatch "^1.3.0" async-each "^1.0.0" @@ -4722,7 +4632,6 @@ chokidar@^1.0.1: chokidar@^2.0.0, chokidar@^2.0.2: version "2.1.6" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" - integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g== dependencies: anymatch "^2.0.0" async-each "^1.0.1" @@ -4741,7 +4650,6 @@ chokidar@^2.0.0, chokidar@^2.0.2: chokidar@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.0.2.tgz#0d1cd6d04eb2df0327446188cd13736a3367d681" - integrity sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA== dependencies: anymatch "^3.0.1" braces "^3.0.2" @@ -4760,7 +4668,6 @@ chownr@^1.0.1: chownr@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" - integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== chrome-trace-event@^1.0.0: version "1.0.0" @@ -4775,7 +4682,6 @@ ci-info@^1.0.0: ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" @@ -5087,7 +4993,6 @@ commander@~2.13.0: commander@~2.20.0: version "2.20.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== commander@~2.8.1: version "2.8.1" @@ -5166,7 +5071,6 @@ concat-stream@^1.5.0: concat-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" - integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== dependencies: buffer-from "^1.0.0" inherits "^2.0.3" @@ -5238,7 +5142,6 @@ conventional-changelog-angular@^5.0.1: conventional-changelog-angular@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.3.tgz#299fdd43df5a1f095283ac16aeedfb0a682ecab0" - integrity sha512-YD1xzH7r9yXQte/HF9JBuEDfvjxxwDGGwZU1+ndanbY0oFgA+Po1T9JDSpPLdP0pZT6MhCAsdvFKC4TJ4MTJTA== dependencies: compare-func "^1.3.1" q "^1.5.1" @@ -5264,7 +5167,6 @@ conventional-changelog-core@^3.1.0: conventional-changelog-core@^3.1.6: version "3.2.2" resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-3.2.2.tgz#de41e6b4a71011a18bcee58e744f6f8f0e7c29c0" - integrity sha512-cssjAKajxaOX5LNAJLB+UOcoWjAIBvXtDMedv/58G+YEmAXMNfC16mmPl0JDOuVJVfIqM0nqQiZ8UCm8IXbE0g== dependencies: conventional-changelog-writer "^4.0.5" conventional-commits-parser "^3.0.2" @@ -5287,7 +5189,6 @@ conventional-changelog-preset-loader@^2.0.1: conventional-changelog-preset-loader@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.1.1.tgz#65bb600547c56d5627d23135154bcd9a907668c4" - integrity sha512-K4avzGMLm5Xw0Ek/6eE3vdOXkqnpf9ydb68XYmCc16cJ99XMMbc2oaNMuPwAsxVK6CC1yA4/I90EhmWNj0Q6HA== conventional-changelog-writer@^4.0.0: version "4.0.0" @@ -5307,7 +5208,6 @@ conventional-changelog-writer@^4.0.0: conventional-changelog-writer@^4.0.5: version "4.0.6" resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.6.tgz#24db578ac8e7c89a409ef9bba12cf3c095990148" - integrity sha512-ou/sbrplJMM6KQpR5rKFYNVQYesFjN7WpNGdudQSWNi6X+RgyFUcSv871YBYkrUYV9EX8ijMohYVzn9RUb+4ag== dependencies: compare-func "^1.3.1" conventional-commits-filter "^2.0.2" @@ -5330,7 +5230,6 @@ conventional-commits-filter@^2.0.0: conventional-commits-filter@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.2.tgz#f122f89fbcd5bb81e2af2fcac0254d062d1039c1" - integrity sha512-WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ== dependencies: lodash.ismatch "^4.4.0" modify-values "^1.0.0" @@ -5350,7 +5249,6 @@ conventional-commits-parser@^3.0.0: conventional-commits-parser@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.0.3.tgz#c3f972fd4e056aa8b9b4f5f3d0e540da18bf396d" - integrity sha512-KaA/2EeUkO4bKjinNfGUyqPTX/6w9JGshuQRik4r/wJz7rUw3+D3fDG6sZSEqJvKILzKXFQuFkpPLclcsAuZcg== dependencies: JSONStream "^1.0.4" is-text-path "^2.0.0" @@ -5376,7 +5274,6 @@ conventional-recommended-bump@^4.0.1: conventional-recommended-bump@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-5.0.0.tgz#019d45a1f3d2cc14a26e9bad1992406ded5baa23" - integrity sha512-CsfdICpbUe0pmM4MTG90GPUqnFgB1SWIR2HAh+vS+JhhJdPWvc0brs8oadWoYGhFOQpQwe57JnvzWEWU0m2OSg== dependencies: concat-stream "^2.0.0" conventional-changelog-preset-loader "^2.1.1" @@ -5495,7 +5392,6 @@ cosmiconfig@^5.0.2: cosmiconfig@^5.1.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" @@ -5871,7 +5767,6 @@ debug@3.1.0, debug@=3.1.0, debug@^3.1.0: debug@3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== dependencies: ms "^2.1.1" @@ -6007,7 +5902,6 @@ deep-is@~0.1.3: deepmerge@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.0.0.tgz#3e3110ca29205f120d7cb064960a39c3d2087c09" - integrity sha512-YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww== deepmerge@^2.0.1: version "2.1.1" @@ -6149,7 +6043,6 @@ deprecated@^0.0.1: deprecation@^2.0.0: version "2.3.1" resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" - integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== deps-regex@^0.1.4: version "0.1.4" @@ -6225,7 +6118,6 @@ dir-glob@^2.0.0: dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== dependencies: path-type "^3.0.0" @@ -6570,7 +6462,6 @@ entities@^1.1.1, entities@~1.1.1: env-paths@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0" - integrity sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA= enzyme-adapter-react-16@^1.5.0: version "1.5.0" @@ -7257,7 +7148,6 @@ eventemitter3@^3.0.0: eventemitter3@^3.1.0: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" - integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== events@1.1.1, events@^1.0.0: version "1.1.1" @@ -7583,7 +7473,6 @@ fast-glob@^2.0.2: fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== dependencies: "@mrmlnc/readdir-enhanced" "^2.2.1" "@nodelib/fs.stat" "^1.1.2" @@ -7749,7 +7638,6 @@ fill-range@^4.0.0: fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" @@ -7870,7 +7758,6 @@ flat-cache@^1.2.1: flat@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" - integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== dependencies: is-buffer "~2.0.3" @@ -8062,7 +7949,6 @@ fs-extra@^7.0.0: fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== dependencies: graceful-fs "^4.2.0" jsonfile "^4.0.0" @@ -8113,7 +7999,6 @@ fsevents@^1.0.0, fsevents@^1.2.3: fsevents@^1.2.7: version "1.2.9" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" - integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== dependencies: nan "^2.12.1" node-pre-gyp "^0.12.0" @@ -8121,7 +8006,6 @@ fsevents@^1.2.7: fsevents@^2.0.6: version "2.0.7" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a" - integrity sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ== fstream@^1.0.0, fstream@^1.0.2, fstream@^1.0.8: version "1.0.11" @@ -8226,7 +8110,6 @@ genfun@^4.0.1: genfun@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" - integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA== get-caller-file@^1.0.1: version "1.0.2" @@ -8235,7 +8118,6 @@ get-caller-file@^1.0.1: get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-func-name@^2.0.0: version "2.0.0" @@ -8258,7 +8140,6 @@ get-port@^3.2.0: get-port@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119" - integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw== get-size@^2.0.0: version "2.0.3" @@ -8312,7 +8193,6 @@ ghauth@^2.0.0: git-raw-commits@2.0.0, git-raw-commits@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5" - integrity sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg== dependencies: dargs "^4.0.1" lodash.template "^4.0.2" @@ -8337,7 +8217,6 @@ git-semver-tags@^2.0.0: git-semver-tags@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-2.0.2.tgz#f506ec07caade191ac0c8d5a21bdb8131b4934e3" - integrity sha512-34lMF7Yo1xEmsK2EkbArdoU79umpvm0MfzaDkSNYSJqtM5QLAVTPWgpiXSVI5o/O9EvZPSrP4Zvnec/CqhSd5w== dependencies: meow "^4.0.0" semver "^5.5.0" @@ -8345,7 +8224,6 @@ git-semver-tags@^2.0.2: git-up@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" - integrity sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw== dependencies: is-ssh "^1.3.0" parse-url "^5.0.0" @@ -8353,7 +8231,6 @@ git-up@^4.0.0: git-url-parse@^11.1.2: version "11.1.2" resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.1.2.tgz#aff1a897c36cc93699270587bea3dbcbbb95de67" - integrity sha512-gZeLVGY8QVKMIkckncX+iCq2/L8PlwncvDFKiWkBn9EtCfYDbliRTTp6qzyQ1VMdITUfq7293zDzfpjdiGASSQ== dependencies: git-up "^4.0.0" @@ -8396,7 +8273,6 @@ glob-parent@^3.1.0: glob-parent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954" - integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg== dependencies: is-glob "^4.0.1" @@ -8486,7 +8362,6 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, gl glob@^7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -8593,7 +8468,6 @@ globby@^8.0.1: globby@^9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" - integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== dependencies: "@types/glob" "^7.1.1" array-union "^1.0.2" @@ -8661,7 +8535,7 @@ got@^6.7.1: graceful-fs@4.1.15, graceful-fs@^3.0.0, graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@~1.2.0: version "4.1.15" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" "graceful-readlink@>= 1.0.0": version "1.0.1" @@ -8670,7 +8544,6 @@ graceful-fs@4.1.15, graceful-fs@^3.0.0, graceful-fs@^4.0.0, graceful-fs@^4.1.10, growl@1.10.5: version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== growly@^1.3.0: version "1.3.0" @@ -8748,7 +8621,6 @@ handle-thing@^1.2.5: handlebars@^4.0.1, handlebars@^4.0.11, handlebars@^4.0.2, handlebars@^4.0.3, handlebars@^4.0.6, handlebars@^4.1.0, handlebars@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" - integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== dependencies: neo-async "^2.6.0" optimist "^0.6.1" @@ -8935,7 +8807,6 @@ he@1.1.x: he@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== header-case@^1.0.0: version "1.0.1" @@ -9271,7 +9142,6 @@ ignore@^3.3.5: ignore@^4.0.3, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== image-size@~0.5.0: version "0.5.5" @@ -9294,7 +9164,6 @@ immutable@3.8.2: import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= dependencies: caller-path "^2.0.0" resolve-from "^3.0.0" @@ -9355,7 +9224,6 @@ indexof@0.0.1: infer-owner@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== inflight@^1.0.4: version "1.0.6" @@ -9560,7 +9428,6 @@ is-binary-path@^1.0.0: is-binary-path@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" @@ -9575,7 +9442,6 @@ is-buffer@^1.1.4, is-buffer@^1.1.5: is-buffer@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" - integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== is-builtin-module@^1.0.0: version "1.0.0" @@ -9600,7 +9466,6 @@ is-ci@^1.0.10: is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: ci-info "^2.0.0" @@ -9721,7 +9586,6 @@ is-glob@^4.0.0: is-glob@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" @@ -9789,7 +9653,6 @@ is-number@^4.0.0: is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.0: version "1.0.1" @@ -9840,7 +9703,6 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: is-plain-object@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" - integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg== dependencies: isobject "^4.0.0" @@ -9879,7 +9741,6 @@ is-retry-allowed@^1.0.0: is-ssh@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" - integrity sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg== dependencies: protocols "^1.1.0" @@ -9914,7 +9775,6 @@ is-text-path@^1.0.0: is-text-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-2.0.0.tgz#b2484e2b720a633feb2e85b67dc193ff72c75636" - integrity sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw== dependencies: text-extensions "^2.0.0" @@ -9995,7 +9855,6 @@ isobject@^3.0.0, isobject@^3.0.1: isobject@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" - integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== isomorphic-fetch@2.2.1, isomorphic-fetch@^2.1.1: version "2.2.1" @@ -10473,7 +10332,6 @@ js-tokens@^4.0.0: js-yaml@3.13.1, js-yaml@^3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -11143,7 +11001,6 @@ load-json-file@^4.0.0: load-json-file@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-5.3.0.tgz#4d3c1e01fa1c03ea78a60ac7af932c9ce53403f3" - integrity sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw== dependencies: graceful-fs "^4.1.15" parse-json "^4.0.0" @@ -11258,7 +11115,6 @@ lodash.camelcase@^4.3.0: lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= lodash.deburr@^3.0.0: version "3.2.0" @@ -11319,7 +11175,6 @@ lodash.isequal@^4.0.0, lodash.isequal@^4.5.0: lodash.ismatch@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" - integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= lodash.isplainobject@^4.0.6: version "4.0.6" @@ -11364,7 +11219,6 @@ lodash.restparam@^3.0.0: lodash.set@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= lodash.sortby@^4.7.0: version "4.7.0" @@ -11394,7 +11248,6 @@ lodash.template@^4.0.2: lodash.template@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== dependencies: lodash._reinterpolate "^3.0.0" lodash.templatesettings "^4.0.0" @@ -11453,7 +11306,6 @@ lodash@^4.17.10: lodash@^4.17.14: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== lodash@~1.0.1: version "1.0.2" @@ -11570,7 +11422,6 @@ lru-cache@^4.1.2, lru-cache@^4.1.3: lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" @@ -11597,7 +11448,6 @@ macaddress@^0.2.8: macos-release@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" - integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA== make-dir@^1.0.0: version "1.2.0" @@ -11608,7 +11458,6 @@ make-dir@^1.0.0: make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== dependencies: pify "^4.0.1" semver "^5.6.0" @@ -11640,7 +11489,6 @@ make-fetch-happen@^4.0.1: make-fetch-happen@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.0.tgz#a8e3fe41d3415dd656fe7b8e8172e1fb4458b38d" - integrity sha512-nFr/vpL1Jc60etMVKeaLOqfGjMMb3tAHFVJWxHOFCFS04Zmd7kGlMxo0l1tzfhoQje0/UPnd0X8OeGUiXXnfPA== dependencies: agentkeepalive "^3.4.1" cacache "^12.0.0" @@ -11873,7 +11721,6 @@ merge2@^1.2.1: merge2@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" - integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== merge@^1.2.0: version "1.2.0" @@ -12054,7 +11901,6 @@ minipass@^2.2.1, minipass@^2.3.3: minipass@^2.3.5: version "2.3.5" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" - integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== dependencies: safe-buffer "^5.1.2" yallist "^3.0.0" @@ -12068,7 +11914,6 @@ minizlib@^1.1.0: minizlib@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== dependencies: minipass "^2.2.1" @@ -12135,7 +11980,6 @@ mobx@^4.2.0: mocha@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.2.0.tgz#f896b642843445d1bb8bca60eabd9206b8916e56" - integrity sha512-qwfFgY+7EKAAUAdv7VYMZQknI7YJSGesxHyhn6qD52DV8UcSZs5XwCifcZGMVIE4a5fbmhvbotxC0DLQ0oKohQ== dependencies: ansi-colors "3.2.3" browser-stdout "1.3.1" @@ -12227,7 +12071,6 @@ multimatch@^2.1.0: multimatch@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-3.0.0.tgz#0e2534cc6bc238d9ab67e1b9cd5fcd85a6dbf70b" - integrity sha512-22foS/gqQfANZ3o+W7ST2x25ueHDVNWl/b9OlGcLpy/iKxjCpvcNCM51YCenUi7Mt/jAjjqv8JwZRs8YP5sRjA== dependencies: array-differ "^2.0.3" array-union "^1.0.2" @@ -12267,7 +12110,6 @@ nan@^2.11.0: nan@^2.12.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== nano-json-stream-parser@^0.1.2: version "0.1.2" @@ -12339,7 +12181,6 @@ neo-async@^2.5.0: neo-async@^2.6.0: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== next-tick@1: version "1.0.0" @@ -12388,7 +12229,6 @@ node-abi@^2.2.0: node-environment-flags@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.5.tgz#fa930275f5bf5dae188d6192b24b4c8bbac3d76a" - integrity sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ== dependencies: object.getownpropertydescriptors "^2.0.3" semver "^5.7.0" @@ -12415,7 +12255,6 @@ node-fetch@^1.0.1, node-fetch@^1.3.3, node-fetch@~1.7.1: node-fetch@^2.3.0, node-fetch@^2.5.0: version "2.6.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== node-forge@0.7.1: version "0.7.1" @@ -12441,7 +12280,6 @@ node-gyp@^3.6.2: node-gyp@^5.0.2: version "5.0.3" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.0.3.tgz#80d64c23790244991b6d44532f0a351bedd3dd45" - integrity sha512-z/JdtkFGUm0QaQUusvloyYuGDub3nUbOo5de1Fz57cM++osBTvQatBUSTlF1k/w8vFHPxxXW6zxGvkxXSpaBkQ== dependencies: env-paths "^1.0.0" glob "^7.0.3" @@ -12522,7 +12360,6 @@ node-pre-gyp@^0.10.0, node-pre-gyp@^0.10.3: node-pre-gyp@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" - integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== dependencies: detect-libc "^1.0.2" mkdirp "^0.5.1" @@ -12599,7 +12436,6 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package- normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" resolve "^1.10.0" @@ -12615,7 +12451,6 @@ normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: normalize-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: version "0.1.2" @@ -12637,7 +12472,6 @@ normalize-url@^1.4.0: normalize-url@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== now-and-later@^2.0.0: version "2.0.0" @@ -12665,7 +12499,6 @@ npm-lifecycle@^2.0.0: npm-lifecycle@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.0.tgz#684d8340e85c8ad1893c231e50903d1b78f46af4" - integrity sha512-G11f/KhHvvrBN9uPG9rj/3plT5eu2T4NKurP4diIDnHQHleppPhT2SaCJq0DQG2WHrAgI+8pH0kKQlwbAwHQNg== dependencies: byline "^5.0.0" graceful-fs "^4.1.15" @@ -12709,7 +12542,6 @@ npm-packlist@^1.1.6: npm-packlist@^1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== dependencies: ignore-walk "^3.0.1" npm-bundled "^1.0.1" @@ -12724,7 +12556,6 @@ npm-pick-manifest@^2.1.0: npm-pick-manifest@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz#32111d2a9562638bb2c8f2bf27f7f3092c8fae40" - integrity sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA== dependencies: figgy-pudding "^3.5.1" npm-package-arg "^6.0.0" @@ -12991,7 +12822,6 @@ obuf@^1.0.0, obuf@^1.1.1: octokit-pagination-methods@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" - integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ== on-finished@~2.3.0: version "2.3.0" @@ -13173,7 +13003,6 @@ os-locale@^3.0.0: os-locale@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== dependencies: execa "^1.0.0" lcid "^2.0.0" @@ -13182,7 +13011,6 @@ os-locale@^3.1.0: os-name@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" - integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg== dependencies: macos-release "^2.2.0" windows-release "^3.1.0" @@ -13257,7 +13085,6 @@ p-map@^1.1.1, p-map@^1.2.0: p-map@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== p-pipe@^1.2.0: version "1.2.0" @@ -13266,7 +13093,6 @@ p-pipe@^1.2.0: p-queue@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-4.0.0.tgz#ed0eee8798927ed6f2c2f5f5b77fdb2061a5d346" - integrity sha512-3cRXXn3/O0o3+eVmUroJPSj/esxoEFIm0ZOno/T+NzG/VZgPOqQ8WKmlNqubSEpZmCIngEy34unkHGg83ZIBmg== dependencies: eventemitter3 "^3.1.0" @@ -13447,7 +13273,6 @@ parse-passwd@^1.0.0: parse-path@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.1.tgz#0ec769704949778cb3b8eda5e994c32073a1adff" - integrity sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA== dependencies: is-ssh "^1.3.0" protocols "^1.4.0" @@ -13455,7 +13280,6 @@ parse-path@^4.0.0: parse-url@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.1.tgz#99c4084fc11be14141efa41b3d117a96fcb9527f" - integrity sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg== dependencies: is-ssh "^1.3.0" normalize-url "^3.3.0" @@ -13530,7 +13354,6 @@ path-parse@^1.0.5: path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== path-root-regex@^0.1.0: version "0.1.2" @@ -13611,7 +13434,6 @@ performance-now@^2.1.0: picomatch@^2.0.4: version "2.0.7" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" - integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: version "2.3.0" @@ -13624,7 +13446,6 @@ pify@^3.0.0: pify@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== pinkie-promise@^2.0.0: version "2.0.1" @@ -14164,7 +13985,6 @@ proto-list@~1.2.1: protocols@^1.1.0, protocols@^1.4.0: version "1.4.7" resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" - integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg== protoduck@^5.0.0: version "5.0.0" @@ -14175,7 +13995,6 @@ protoduck@^5.0.0: protoduck@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f" - integrity sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg== dependencies: genfun "^5.0.0" @@ -14994,7 +14813,6 @@ readable-stream@1.0, "readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0 "readable-stream@2 || 3", readable-stream@^3.0.2: version "3.4.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" - integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" @@ -15038,7 +14856,6 @@ readdirp@^2.0.0: readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== dependencies: graceful-fs "^4.1.11" micromatch "^3.1.10" @@ -15047,7 +14864,6 @@ readdirp@^2.2.1: readdirp@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.1.1.tgz#b158123ac343c8b0f31d65680269cc0fc1025db1" - integrity sha512-XXdSXZrQuvqoETj50+JAitxz1UPdt5dupjT6T5nVB+WvjMv2XKYj+s7hPeAVCXvmJrL36O4YYyWlIC3an2ePiQ== dependencies: picomatch "^2.0.4" @@ -15498,7 +15314,6 @@ require-main-filename@^1.0.1: require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== require-package-name@^2.0.1: version "2.0.1" @@ -15560,7 +15375,6 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2: resolve@^1.10.0: version "1.11.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" - integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== dependencies: path-parse "^1.0.6" @@ -15615,7 +15429,6 @@ rimraf@2, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6 rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" @@ -15750,7 +15563,6 @@ safe-buffer@5.1.2, safe-buffer@^5.1.2: safe-buffer@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== safe-regex@^1.1.0: version "1.1.0" @@ -15929,12 +15741,10 @@ semver@^5.5.1: semver@^5.6.0, semver@^5.7.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" - integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== semver@^6.0.0, semver@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" - integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== semver@~5.3.0: version "5.3.0" @@ -16178,7 +15988,6 @@ slash@^1.0.0: slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== slice-ansi@0.0.4: version "0.0.4" @@ -16854,7 +16663,6 @@ stylis@^3.5.0: supports-color@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" - integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== dependencies: has-flag "^3.0.0" @@ -17082,7 +16890,6 @@ tar@^4, tar@^4.4.3: tar@^4.4.10, tar@^4.4.8: version "4.4.10" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" - integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== dependencies: chownr "^1.1.1" fs-minipass "^1.2.5" @@ -17176,7 +16983,6 @@ text-extensions@^1.0.0: text-extensions@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-2.0.0.tgz#43eabd1b495482fae4a2bf65e5f56c29f69220f6" - integrity sha512-F91ZqLgvi1E0PdvmxMgp+gcf6q8fMH7mhdwWfzXnl1k+GbpQDmi8l7DzLC5JTASKbwpY3TfxajAUzAXcv2NmsQ== text-table@^0.2.0: version "0.2.0" @@ -17235,7 +17041,6 @@ through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@^2.0.3, through2@~2. through2@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" - integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== dependencies: readable-stream "2 || 3" @@ -17338,7 +17143,6 @@ to-regex-range@^2.1.0: to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" @@ -17585,7 +17389,6 @@ type-detect@^4.0.0, type-detect@^4.0.5: type-fest@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" - integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== type-is@~1.6.15, type-is@~1.6.16: version "1.6.16" @@ -17717,7 +17520,6 @@ uglify-js@3.4.x, uglify-js@^3.0.0: uglify-js@^3.1.4: version "3.6.0" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" - integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== dependencies: commander "~2.20.0" source-map "~0.6.1" @@ -17848,7 +17650,6 @@ unique-filename@^1.1.0: unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== dependencies: unique-slug "^2.0.0" @@ -17902,7 +17703,6 @@ unist-util-visit@^1.1.0, unist-util-visit@^1.3.0: universal-user-agent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-3.0.0.tgz#4cc88d68097bffd7ac42e3b7c903e7481424b4b9" - integrity sha512-T3siHThqoj5X0benA5H0qcDnrKGXzU8TKoX15x/tQHw1hQBvIEBHjxQ2klizYsqBOO/Q+WuxoQUihadeeqDnoA== dependencies: os-name "^3.0.0" @@ -17932,7 +17732,6 @@ unzip-response@^2.0.1: upath@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" - integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== update-notifier@^2.3.0, update-notifier@^2.5.0: version "2.5.0" @@ -18002,7 +17801,6 @@ url-set-query@^1.0.0: url-template@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21" - integrity sha1-/FZaPMy/93MMd19WQflVV5FDnyE= url-to-options@^1.0.1: version "1.0.1" @@ -18883,7 +18681,6 @@ which-pm-runs@^1.0.0: which@1, which@1.3.1, which@^1.2.12, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" @@ -18896,7 +18693,6 @@ which@^1.1.1, which@^1.2.14, which@^1.2.9, which@^1.3.0: wide-align@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== dependencies: string-width "^1.0.2 || 2" @@ -18923,7 +18719,6 @@ window-size@^0.2.0: windows-release@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.2.0.tgz#8122dad5afc303d833422380680a79cdfa91785f" - integrity sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA== dependencies: execa "^1.0.0" @@ -19006,7 +18801,6 @@ write-file-atomic@^2.0.0, write-file-atomic@^2.1.0, write-file-atomic@^2.3.0: write-file-atomic@^2.4.2: version "2.4.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" @@ -19026,7 +18820,6 @@ write-json-file@^2.2.0, write-json-file@^2.3.0: write-json-file@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" - integrity sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ== dependencies: detect-indent "^5.0.0" graceful-fs "^4.1.15" @@ -19210,7 +19003,6 @@ yallist@^3.0.0, yallist@^3.0.2: yallist@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== yargonaut@^1.1.2: version "1.1.4" @@ -19229,7 +19021,6 @@ yargs-parser@10.x, yargs-parser@^10.0.0, yargs-parser@^10.1.0: yargs-parser@13.0.0: version "13.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.0.0.tgz#3fc44f3e76a8bdb1cc3602e860108602e5ccde8b" - integrity sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -19237,7 +19028,6 @@ yargs-parser@13.0.0: yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -19245,7 +19035,6 @@ yargs-parser@^11.1.1: yargs-parser@^13.0.0: version "13.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -19278,7 +19067,6 @@ yargs-parser@^9.0.2: yargs-unparser@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.5.0.tgz#f2bb2a7e83cbc87bb95c8e572828a06c9add6e0d" - integrity sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw== dependencies: flat "^4.1.0" lodash "^4.17.11" @@ -19321,7 +19109,6 @@ yargs@12.0.2, yargs@^12.0.2: yargs@13.2.2: version "13.2.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.2.tgz#0c101f580ae95cea7f39d927e7770e3fdc97f993" - integrity sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA== dependencies: cliui "^4.0.0" find-up "^3.0.0" @@ -19389,7 +19176,6 @@ yargs@^12.0.1: yargs@^12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== dependencies: cliui "^4.0.0" decamelize "^1.2.0" From cc7dec7a99550038555a5367615bad214a06f893 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 24 Jul 2019 23:27:03 +0200 Subject: [PATCH 028/162] Move `react-docs` into `website` and delete it as a standalone package --- .github/autolabeler.yml | 1 - .gitignore | 1 - README.md | 25 +- .../monorepo-scripts/src/test_installation.ts | 2 +- packages/react-docs/.npmignore | 9 - packages/react-docs/CHANGELOG.json | 543 ------------------ packages/react-docs/CHANGELOG.md | 240 -------- packages/react-docs/README.md | 96 ---- packages/react-docs/package.json | 62 -- packages/react-docs/src/globals.d.ts | 6 - packages/react-docs/src/index.ts | 23 - packages/react-docs/src/types.ts | 66 --- packages/react-docs/src/utils/constants.ts | 10 - packages/react-docs/tsconfig.json | 14 - packages/react-docs/tslint.json | 9 - packages/website/package.json | 5 +- .../documentation/reference}/badge.tsx | 0 .../documentation/reference}/comment.tsx | 0 .../documentation/reference}/custom_enum.tsx | 0 .../reference}/doc_reference.tsx | 6 +- .../documentation/reference}/enum.tsx | 2 +- .../reference}/event_definition.tsx | 2 +- .../documentation/reference}/interface.tsx | 2 +- .../reference}/property_block.tsx | 4 +- .../documentation/reference}/signature.tsx | 2 +- .../reference}/signature_block.tsx | 4 +- .../documentation/reference}/source_link.tsx | 0 .../documentation/reference}/type.tsx | 2 +- .../reference}/type_definition.tsx | 6 +- .../website/ts/components/top_bar/top_bar.tsx | 3 +- .../containers/asset_buyer_documentation.ts | 2 +- .../ts/containers/connect_documentation.ts | 2 +- .../contract_wrappers_documentation.ts | 2 +- .../ethereum_types_documentation.ts | 5 +- .../containers/json_schemas_documentation.ts | 2 +- .../ts/containers/migrations_documentation.ts | 4 +- .../containers/order_utils_documentation.ts | 2 +- .../containers/order_watcher_documentation.ts | 2 +- .../smart_contracts_documentation.ts | 2 +- .../containers/sol_compiler_documentation.ts | 2 +- .../containers/sol_coverage_documentation.ts | 2 +- .../containers/sol_profiler_documentation.ts | 2 +- .../ts/containers/sol_trace_documentation.ts | 2 +- .../containers/subproviders_documentation.ts | 2 +- .../containers/web3_wrapper_documentation.ts | 2 +- .../ts/containers/zero_ex_js_documentation.ts | 2 +- .../ts/pages/documentation/doc_page.tsx | 14 +- packages/website/ts/types.ts | 67 +++ packages/website/ts/utils/constants.ts | 8 + packages/website/ts/utils/doc_utils.ts | 2 +- .../src => website/ts/utils}/docs_info.ts | 5 +- .../ts/utils/documentation_container.ts | 5 +- .../src => website/ts}/utils/typedoc_utils.ts | 2 +- tsconfig.json | 1 - yarn.lock | 13 +- 55 files changed, 148 insertions(+), 1151 deletions(-) delete mode 100644 packages/react-docs/.npmignore delete mode 100644 packages/react-docs/CHANGELOG.json delete mode 100644 packages/react-docs/CHANGELOG.md delete mode 100644 packages/react-docs/README.md delete mode 100644 packages/react-docs/package.json delete mode 100644 packages/react-docs/src/globals.d.ts delete mode 100644 packages/react-docs/src/index.ts delete mode 100644 packages/react-docs/src/types.ts delete mode 100644 packages/react-docs/src/utils/constants.ts delete mode 100644 packages/react-docs/tsconfig.json delete mode 100644 packages/react-docs/tslint.json rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/badge.tsx (100%) rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/comment.tsx (100%) rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/custom_enum.tsx (100%) rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/doc_reference.tsx (98%) rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/enum.tsx (92%) rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/event_definition.tsx (98%) rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/interface.tsx (98%) rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/property_block.tsx (96%) rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/signature.tsx (98%) rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/signature_block.tsx (98%) rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/source_link.tsx (100%) rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/type.tsx (99%) rename packages/{react-docs/src/components => website/ts/components/documentation/reference}/type_definition.tsx (97%) rename packages/{react-docs/src => website/ts/utils}/docs_info.ts (98%) rename packages/{react-docs/src => website/ts}/utils/typedoc_utils.ts (99%) diff --git a/.github/autolabeler.yml b/.github/autolabeler.yml index 70ba92e871..cf40d91812 100644 --- a/.github/autolabeler.yml +++ b/.github/autolabeler.yml @@ -22,7 +22,6 @@ contracts: ['contracts'] @0x/tslint-config: ['packages/tslint-config'] @0x/asset-buyer: ['packages/asset-buyer'] @0x/order-watcher: ['packages/order-watcher'] -@0x/react-docs: ['packages/react-docs'] @0x/order-utils: ['packages/order-utils'] @0x/react-shared: ['packages/react-shared'] @0x/assert: ['packages/assert'] diff --git a/.gitignore b/.gitignore index 9fde6b4c0f..679011a773 100644 --- a/.gitignore +++ b/.gitignore @@ -77,7 +77,6 @@ TODO.md packages/website/public/bundle* packages/dev-tools-pages/public/bundle* -packages/react-docs/example/public/bundle* # server cli packages/testnet-faucets/server/ diff --git a/README.md b/README.md index 00099e4c27..c061e7a07d 100644 --- a/README.md +++ b/README.md @@ -87,19 +87,18 @@ These packages are all under development. See [/contracts/README.md](/contracts/ #### Utilities -| Package | Version | Description | -| -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| [`@0x/abi-gen`](/packages/abi-gen) | [![npm](https://img.shields.io/npm/v/@0x/abi-gen.svg)](https://www.npmjs.com/package/@0x/abi-gen) | Tool to generate TS wrappers from smart contract ABIs | -| [`@0x/tslint-config`](/packages/tslint-config) | [![npm](https://img.shields.io/npm/v/@0x/tslint-config.svg)](https://www.npmjs.com/package/@0x/tslint-config) | Custom TSLint rules used by the 0x core team | -| [`@0x/types`](/packages/types) | [![npm](https://img.shields.io/npm/v/@0x/types.svg)](https://www.npmjs.com/package/@0x/types) | Shared type declarations | -| [`@0x/typescript-typings`](/packages/typescript-typings) | [![npm](https://img.shields.io/npm/v/@0x/typescript-typings.svg)](https://www.npmjs.com/package/@0x/typescript-typings) | Repository of types for external packages | -| [`@0x/utils`](/packages/utils) | [![npm](https://img.shields.io/npm/v/@0x/utils.svg)](https://www.npmjs.com/package/@0x/utils) | Shared utilities | -| [`@0x/react-docs`](/packages/react-docs) | [![npm](https://img.shields.io/npm/v/@0x/react-docs.svg)](https://www.npmjs.com/package/@0x/react-docs) | React documentation component for rendering TypeDoc & sol-doc generated JSON | -| [`@0x/react-shared`](/packages/react-shared) | [![npm](https://img.shields.io/npm/v/@0x/react-shared.svg)](https://www.npmjs.com/package/@0x/react-shared) | 0x shared react components | -| [`@0x/assert`](/packages/assert) | [![npm](https://img.shields.io/npm/v/@0x/assert.svg)](https://www.npmjs.com/package/@0x/assert) | Type and schema assertions used by our packages | -| [`@0x/base-contract`](/packages/base-contract) | [![npm](https://img.shields.io/npm/v/@0x/base-contract.svg)](https://www.npmjs.com/package/@0x/base-contract) | BaseContract used by auto-generated `abi-gen` wrapper contracts | -| [`@0x/dev-utils`](/packages/dev-utils) | [![npm](https://img.shields.io/npm/v/@0x/dev-utils.svg)](https://www.npmjs.com/package/@0x/dev-utils) | Dev utils to be shared across 0x packages | -| [`@0x/fill-scenarios`](/packages/fill-scenarios) | [![npm](https://img.shields.io/npm/v/@0x/fill-scenarios.svg)](https://www.npmjs.com/package/@0x/fill-scenarios) | 0x order fill scenario generator | +| Package | Version | Description | +| -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| [`@0x/abi-gen`](/packages/abi-gen) | [![npm](https://img.shields.io/npm/v/@0x/abi-gen.svg)](https://www.npmjs.com/package/@0x/abi-gen) | Tool to generate TS wrappers from smart contract ABIs | +| [`@0x/tslint-config`](/packages/tslint-config) | [![npm](https://img.shields.io/npm/v/@0x/tslint-config.svg)](https://www.npmjs.com/package/@0x/tslint-config) | Custom TSLint rules used by the 0x core team | +| [`@0x/types`](/packages/types) | [![npm](https://img.shields.io/npm/v/@0x/types.svg)](https://www.npmjs.com/package/@0x/types) | Shared type declarations | +| [`@0x/typescript-typings`](/packages/typescript-typings) | [![npm](https://img.shields.io/npm/v/@0x/typescript-typings.svg)](https://www.npmjs.com/package/@0x/typescript-typings) | Repository of types for external packages | +| [`@0x/utils`](/packages/utils) | [![npm](https://img.shields.io/npm/v/@0x/utils.svg)](https://www.npmjs.com/package/@0x/utils) | Shared utilities | +| [`@0x/react-shared`](/packages/react-shared) | [![npm](https://img.shields.io/npm/v/@0x/react-shared.svg)](https://www.npmjs.com/package/@0x/react-shared) | 0x shared react components | +| [`@0x/assert`](/packages/assert) | [![npm](https://img.shields.io/npm/v/@0x/assert.svg)](https://www.npmjs.com/package/@0x/assert) | Type and schema assertions used by our packages | +| [`@0x/base-contract`](/packages/base-contract) | [![npm](https://img.shields.io/npm/v/@0x/base-contract.svg)](https://www.npmjs.com/package/@0x/base-contract) | BaseContract used by auto-generated `abi-gen` wrapper contracts | +| [`@0x/dev-utils`](/packages/dev-utils) | [![npm](https://img.shields.io/npm/v/@0x/dev-utils.svg)](https://www.npmjs.com/package/@0x/dev-utils) | Dev utils to be shared across 0x packages | +| [`@0x/fill-scenarios`](/packages/fill-scenarios) | [![npm](https://img.shields.io/npm/v/@0x/fill-scenarios.svg)](https://www.npmjs.com/package/@0x/fill-scenarios) | 0x order fill scenario generator | #### Private Packages diff --git a/packages/monorepo-scripts/src/test_installation.ts b/packages/monorepo-scripts/src/test_installation.ts index 64d60e0103..1591853e7d 100644 --- a/packages/monorepo-scripts/src/test_installation.ts +++ b/packages/monorepo-scripts/src/test_installation.ts @@ -12,7 +12,7 @@ import { Changelog, Package } from './types'; import { utils } from './utils/utils'; // Packages might not be runnable if they are command-line tools or only run in browsers. -const UNRUNNABLE_PACKAGES = ['@0x/abi-gen', '@0x/react-shared', '@0x/react-docs']; +const UNRUNNABLE_PACKAGES = ['@0x/abi-gen', '@0x/react-shared']; const mkdirpAsync = promisify(mkdirp); const rimrafAsync = promisify(rimraf); diff --git a/packages/react-docs/.npmignore b/packages/react-docs/.npmignore deleted file mode 100644 index ea588d4859..0000000000 --- a/packages/react-docs/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -# Blacklist all files -.* -* -# Whitelist lib -!lib/**/* -# Blacklist tests and publish scripts -/lib/test/* -/lib/monorepo_scripts/ -# Package specific ignore diff --git a/packages/react-docs/CHANGELOG.json b/packages/react-docs/CHANGELOG.json deleted file mode 100644 index 0b68b70a5d..0000000000 --- a/packages/react-docs/CHANGELOG.json +++ /dev/null @@ -1,543 +0,0 @@ -[ - { - "timestamp": 1563957393, - "version": "2.0.15", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1563047529, - "version": "2.0.14", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1563006338, - "version": "2.0.13", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1558712885, - "version": "2.0.12", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1557507213, - "version": "2.0.11", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "2.0.10", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1554997931 - }, - { - "timestamp": 1553183790, - "version": "2.0.9", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1553091633, - "version": "2.0.8", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1551479279, - "version": "2.0.7", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1551220833, - "version": "2.0.6", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1551130135, - "version": "2.0.5", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1549733923, - "version": "2.0.4", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "2.0.3", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1549547375 - }, - { - "timestamp": 1549504360, - "version": "2.0.2", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1549452781, - "version": "2.0.1", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "2.0.0", - "changes": [ - { - "note": "Upgrade the bignumber.js to v8.0.2", - "pr": 1517 - } - ], - "timestamp": 1549373905 - }, - { - "timestamp": 1547561734, - "version": "1.0.25", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1547225310, - "version": "1.0.24", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1547040760, - "version": "1.0.23", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "1.0.22", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1544739608 - }, - { - "version": "1.0.21", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1544570656 - }, - { - "timestamp": 1543401373, - "version": "1.0.20", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1542821676, - "version": "1.0.19", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1542208198, - "version": "1.0.18", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1542134075, - "version": "1.0.17", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1542028948, - "version": "1.0.16", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "1.0.15", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1541740904 - }, - { - "timestamp": 1539871071, - "version": "1.0.14", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "1.0.13", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1538693146 - }, - { - "timestamp": 1538157789, - "version": "1.0.12", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1537907159, - "version": "1.0.11", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1537875740, - "version": "1.0.10", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1537541580, - "version": "1.0.9", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1536142250, - "version": "1.0.8", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1535377027, - "version": "1.0.7", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1535133899, - "version": "1.0.6", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1534210131, - "version": "1.0.5", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1532619515, - "version": "1.0.4", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1532614997, - "version": "1.0.3", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1532605697, - "version": "1.0.2", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1532357734, - "version": "1.0.1", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1532043000, - "version": "1.0.0", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1531919263, - "version": "0.0.17", - "changes": [ - { - "note": "Nest MD files under versions so that you can update them for future versions", - "pr": 844 - } - ] - }, - { - "timestamp": 1531919263, - "version": "0.0.16", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1531149657, - "version": "0.0.15", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1529397769, - "version": "0.0.14", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "0.0.13", - "changes": [ - { - "note": "Incorrect publish that was unpublished" - } - ], - "timestamp": 1527810075 - }, - { - "timestamp": 1527009133, - "version": "0.0.12", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1525477860, - "version": "0.0.11", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1525466747, - "version": "0.0.10", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1525428773, - "version": "0.0.9", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "0.0.8", - "changes": [ - { - "note": "Added support for rendering default param values", - "pr": 519 - }, - { - "note": "Added support for rendering nested function types within interface types", - "pr": 519 - }, - { - "note": "Improve type comment rendering", - "pr": 535 - } - ], - "timestamp": 1524044013 - }, - { - "timestamp": 1523462196, - "version": "0.0.7", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1522673609, - "version": "0.0.6", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "0.0.5", - "changes": [ - { - "note": "Handle `reflection` type rendering so that anonymous function type declarations render properly", - "pr": 465 - }, - { - "note": "Rename `MethodSignature` to `Signature` and change it's props so that it can be used to render method and function signatures.", - "pr": 465 - }, - { - "note": "Rename `MethodBlock` to `SignatureBlock` since it is not used to render method and function signature blocks.", - "pr": 465 - }, - { - "note": "Add support for documenting exported functions.", - "pr": 465 - } - ], - "timestamp": 1522658513 - }, - { - "version": "0.0.3", - "changes": [ - { - "note": "Move TS typings from devDependencies to dependencies since they are needed by the package user." - } - ], - "timestamp": 1521298800 - }, - { - "version": "0.0.2", - "changes": [ - { - "note": "Move example out into a separate sub-package" - }, - { - "note": "Consolidate all `console.log` calls into `logUtils` in the `@0xproject/utils` package", - "pr": 452 - } - ], - "timestamp": 1521298800 - } -] diff --git a/packages/react-docs/CHANGELOG.md b/packages/react-docs/CHANGELOG.md deleted file mode 100644 index 56c91dbba8..0000000000 --- a/packages/react-docs/CHANGELOG.md +++ /dev/null @@ -1,240 +0,0 @@ - - -CHANGELOG - -## v2.0.15 - _July 24, 2019_ - - * Dependencies updated - -## v2.0.14 - _July 13, 2019_ - - * Dependencies updated - -## v2.0.13 - _July 13, 2019_ - - * Dependencies updated - -## v2.0.12 - _May 24, 2019_ - - * Dependencies updated - -## v2.0.11 - _May 10, 2019_ - - * Dependencies updated - -## v2.0.10 - _April 11, 2019_ - - * Dependencies updated - -## v2.0.9 - _March 21, 2019_ - - * Dependencies updated - -## v2.0.8 - _March 20, 2019_ - - * Dependencies updated - -## v2.0.7 - _March 1, 2019_ - - * Dependencies updated - -## v2.0.6 - _February 26, 2019_ - - * Dependencies updated - -## v2.0.5 - _February 25, 2019_ - - * Dependencies updated - -## v2.0.4 - _February 9, 2019_ - - * Dependencies updated - -## v2.0.3 - _February 7, 2019_ - - * Dependencies updated - -## v2.0.2 - _February 7, 2019_ - - * Dependencies updated - -## v2.0.1 - _February 6, 2019_ - - * Dependencies updated - -## v2.0.0 - _February 5, 2019_ - - * Upgrade the bignumber.js to v8.0.2 (#1517) - -## v1.0.25 - _January 15, 2019_ - - * Dependencies updated - -## v1.0.24 - _January 11, 2019_ - - * Dependencies updated - -## v1.0.23 - _January 9, 2019_ - - * Dependencies updated - -## v1.0.22 - _December 13, 2018_ - - * Dependencies updated - -## v1.0.21 - _December 11, 2018_ - - * Dependencies updated - -## v1.0.20 - _November 28, 2018_ - - * Dependencies updated - -## v1.0.19 - _November 21, 2018_ - - * Dependencies updated - -## v1.0.18 - _November 14, 2018_ - - * Dependencies updated - -## v1.0.17 - _November 13, 2018_ - - * Dependencies updated - -## v1.0.16 - _November 12, 2018_ - - * Dependencies updated - -## v1.0.15 - _November 9, 2018_ - - * Dependencies updated - -## v1.0.14 - _October 18, 2018_ - - * Dependencies updated - -## v1.0.13 - _October 4, 2018_ - - * Dependencies updated - -## v1.0.12 - _September 28, 2018_ - - * Dependencies updated - -## v1.0.11 - _September 25, 2018_ - - * Dependencies updated - -## v1.0.10 - _September 25, 2018_ - - * Dependencies updated - -## v1.0.9 - _September 21, 2018_ - - * Dependencies updated - -## v1.0.8 - _September 5, 2018_ - - * Dependencies updated - -## v1.0.7 - _August 27, 2018_ - - * Dependencies updated - -## v1.0.6 - _August 24, 2018_ - - * Dependencies updated - -## v1.0.5 - _August 14, 2018_ - - * Dependencies updated - -## v1.0.4 - _July 26, 2018_ - - * Dependencies updated - -## v1.0.3 - _July 26, 2018_ - - * Dependencies updated - -## v1.0.2 - _July 26, 2018_ - - * Dependencies updated - -## v1.0.1 - _July 23, 2018_ - - * Dependencies updated - -## v1.0.0 - _July 19, 2018_ - - * Dependencies updated - -## v0.0.17 - _July 18, 2018_ - - * Nest MD files under versions so that you can update them for future versions (#844) - -## v0.0.16 - _July 18, 2018_ - - * Dependencies updated - -## v0.0.15 - _July 9, 2018_ - - * Dependencies updated - -## v0.0.14 - _June 19, 2018_ - - * Dependencies updated - -## v0.0.13 - _May 31, 2018_ - - * Incorrect publish that was unpublished - -## v0.0.12 - _May 22, 2018_ - - * Dependencies updated - -## v0.0.11 - _May 4, 2018_ - - * Dependencies updated - -## v0.0.10 - _May 4, 2018_ - - * Dependencies updated - -## v0.0.9 - _May 4, 2018_ - - * Dependencies updated - -## v0.0.8 - _April 18, 2018_ - - * Added support for rendering default param values (#519) - * Added support for rendering nested function types within interface types (#519) - * Improve type comment rendering (#535) - -## v0.0.7 - _April 11, 2018_ - - * Dependencies updated - -## v0.0.6 - _April 2, 2018_ - - * Dependencies updated - -## v0.0.5 - _April 2, 2018_ - - * Handle `reflection` type rendering so that anonymous function type declarations render properly (#465) - * Rename `MethodSignature` to `Signature` and change it's props so that it can be used to render method and function signatures. (#465) - * Rename `MethodBlock` to `SignatureBlock` since it is not used to render method and function signature blocks. (#465) - * Add support for documenting exported functions. (#465) - -## v0.0.3 - _March 17, 2018_ - - * Move TS typings from devDependencies to dependencies since they are needed by the package user. - -## v0.0.2 - _March 17, 2018_ - - * Move example out into a separate sub-package - * Consolidate all `console.log` calls into `logUtils` in the `@0xproject/utils` package (#452) diff --git a/packages/react-docs/README.md b/packages/react-docs/README.md deleted file mode 100644 index 7b1f4f80ac..0000000000 --- a/packages/react-docs/README.md +++ /dev/null @@ -1,96 +0,0 @@ -## @0x/react-docs - -#### WARNING: Alpha software. Expect things to break when trying to use. - -A full-page React component for rendering beautiful documentation for Solidity and Typescript code generated with [TypeDoc](http://typedoc.org/) or [sol-doc](https://github.com/0xProject/0x-monorepo/tree/development/packages/sol-doc). - -
- -
react-docs generating 0x's smart contract docs
-
- -#### Features - -- Mobile optimized -- Reads Javadoc-style comments in your code to generate class/method/argument/return/type comments. -- Syntax highlighting support for TypeScript & Solidity -- Type declaration linking -- Type declaration popovers to avoid clicking through to the definition -- Section/method/type anchors for easily pointing others to a specific part of your docs. -- Version picker -- Customizable sidebar header -- Supports custom markdown sections so you can easily add an intro or installation instructions. - -## Installation - -```bash -yarn add @0x/react-docs -``` - -## Usage - -This package exposes both a single `Documentation` react component that will render a docs page, as well as all of it's sub-components in case someone wants to build their own layout. - -Currently this package still has some external dependencies outside of the `Documentation` component, so please start your project off by copying the [react-docs-example](https://github.com/0xProject/0x-monorepo/tree/development/packages/react-docs-example) directory and modifying it there. If you need changes in the [react-docs](https://github.com/0xProject/0x-monorepo/tree/development/packages/react-docs) package, fork the 0x monorepo, make the required changes and submit a PR. Until we merge it, you can have your project depend on your own custom fork. - -If your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`: - -```json -"compilerOptions": { - "typeRoots": ["node_modules/@0x/typescript-typings/types", "node_modules/@types"], -} -``` - -## Future improvements - -Feel free to contribute to these improvements! - -- Allow user to pass in styling for all major elements similar to [Material-UI](http://www.material-ui.com/). -- Allow user to define an alternative font and have it change everywhere. -- Add source links to Solidity docs (currently unsupported by solc, which underlies sol-doc). - -## Contributing - -We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository. - -Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started. - -### Install dependencies - -If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them: - -```bash -yarn config set workspaces-experimental true -``` - -Then install dependencies - -```bash -yarn install -``` - -### Build - -To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory: - -```bash -PKG=@0x/react-docs yarn build -``` - -Or continuously rebuild on change: - -```bash -PKG=@0x/react-docs yarn watch -``` - -### Clean - -```bash -yarn clean -``` - -### Lint - -```bash -yarn lint -``` diff --git a/packages/react-docs/package.json b/packages/react-docs/package.json deleted file mode 100644 index 2a9ea6b530..0000000000 --- a/packages/react-docs/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "@0x/react-docs", - "version": "2.0.15", - "engines": { - "node": ">=6.12" - }, - "description": "React documentation component for rendering TypeDoc & sol-doc generated JSON", - "main": "lib/index.js", - "types": "lib/index.d.ts", - "scripts": { - "lint": "tslint --format stylish --project .", - "fix": "tslint --fix --format stylish --project .", - "build": "tsc -b", - "build:ci": "yarn build", - "clean": "shx rm -rf lib" - }, - "author": "Fabio Berger", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/0xProject/0x-monorepo/issues" - }, - "homepage": "https://github.com/0xProject/0x-monorepo/packages/react-docs/README.md", - "repository": { - "type": "git", - "url": "https://github.com/0xProject/0x-monorepo.git" - }, - "devDependencies": { - "@0x/dev-utils": "^2.2.5", - "@0x/tslint-config": "^3.0.1", - "@types/compare-versions": "^3.0.0", - "@types/styled-components": "4.1.1", - "make-promises-safe": "^1.1.0", - "shx": "^0.2.2", - "tslint": "5.11.0", - "typescript": "3.0.1" - }, - "dependencies": { - "@0x/react-shared": "^2.0.15", - "@0x/types": "^2.4.1", - "@0x/utils": "^4.4.1", - "@types/lodash": "4.14.104", - "@types/material-ui": "^0.20.0", - "@types/node": "*", - "@types/react": "*", - "@types/react-dom": "*", - "@types/react-scroll": "1.5.3", - "basscss": "^8.0.3", - "compare-versions": "^3.0.1", - "lodash": "^4.17.11", - "material-ui": "^0.20.0", - "react": "^16.5.2", - "react-dom": "^16.5.2", - "react-markdown": "^3.2.2", - "react-scroll": "0xproject/react-scroll#pr-330-and-replace-state", - "react-tooltip": "^3.2.7", - "semver": "5.5.0", - "styled-components": "^4.1.1" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/packages/react-docs/src/globals.d.ts b/packages/react-docs/src/globals.d.ts deleted file mode 100644 index 94e63a32de..0000000000 --- a/packages/react-docs/src/globals.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -declare module '*.json' { - const json: any; - /* tslint:disable */ - export default json; - /* tslint:enable */ -} diff --git a/packages/react-docs/src/index.ts b/packages/react-docs/src/index.ts deleted file mode 100644 index a5ed788b15..0000000000 --- a/packages/react-docs/src/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -export { DocAgnosticFormat, GeneratedDocJson } from '@0x/types'; - -// Exported to give users of this library added flexibility if they want to build -// a docs page from scratch using the individual components. -export { Badge } from './components/badge'; -export { Comment } from './components/comment'; -export { CustomEnum } from './components/custom_enum'; -export { DocReference } from './components/doc_reference'; -export { Enum } from './components/enum'; -export { EventDefinition } from './components/event_definition'; -export { Interface } from './components/interface'; -export { SignatureBlock } from './components/signature_block'; -export { Signature } from './components/signature'; -export { SourceLink } from './components/source_link'; -export { TypeDefinition } from './components/type_definition'; -export { Type } from './components/type'; -export { TypeDocUtils } from './utils/typedoc_utils'; - -export { DocsInfo } from './docs_info'; - -export { DocsInfoConfig, DocsMenu, SupportedDocJson } from './types'; - -export { constants } from './utils/constants'; diff --git a/packages/react-docs/src/types.ts b/packages/react-docs/src/types.ts deleted file mode 100644 index 1534485132..0000000000 --- a/packages/react-docs/src/types.ts +++ /dev/null @@ -1,66 +0,0 @@ -export interface SectionNameToMarkdownByVersion { - [version: string]: { [sectionName: string]: string }; -} - -export interface DocsInfoConfig { - id: string; - packageName: string; - type: SupportedDocJson; - displayName: string; - packageUrl: string; - markdownMenu: DocsMenu; - markdownSections: SectionsMap; - sectionNameToMarkdownByVersion: SectionNameToMarkdownByVersion; - contractsByVersionByNetworkId?: ContractsByVersionByNetworkId; -} - -export interface DocsMenu { - [sectionName: string]: string[]; -} - -export interface SectionsMap { - [sectionName: string]: string; -} - -// Exception: We don't make the values uppercase because these KindString's need to -// match up those returned by TypeDoc -export enum KindString { - Constructor = 'Constructor', - Property = 'Property', - Method = 'Method', - Interface = 'Interface', - TypeAlias = 'Type alias', - ObjectLiteral = 'Object literal', - Variable = 'Variable', - Function = 'Function', - Enumeration = 'Enumeration', - Class = 'Class', -} - -export enum SupportedDocJson { - SolDoc = 'SOL_DOC', - TypeDoc = 'TYPEDOC', -} - -export interface ContractsByVersionByNetworkId { - [version: string]: { - [networkName: string]: { - [contractName: string]: string; - }; - }; -} - -export interface AddressByContractName { - [contractName: string]: string; -} - -export interface EnumValue { - name: string; - defaultValue?: string; -} - -export enum AbiTypes { - Constructor = 'constructor', - Function = 'function', - Event = 'event', -} diff --git a/packages/react-docs/src/utils/constants.ts b/packages/react-docs/src/utils/constants.ts deleted file mode 100644 index b5b6cc00d0..0000000000 --- a/packages/react-docs/src/utils/constants.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { SupportedDocJson } from '../types'; - -export const constants = { - TYPES_SECTION_NAME: 'types', - EXTERNAL_EXPORTS_SECTION_NAME: 'external exports', - TYPE_TO_SYNTAX: { - [SupportedDocJson.SolDoc]: 'solidity', - [SupportedDocJson.TypeDoc]: 'typescript', - } as { [supportedDocType: string]: string }, -}; diff --git a/packages/react-docs/tsconfig.json b/packages/react-docs/tsconfig.json deleted file mode 100644 index 76e2cd0278..0000000000 --- a/packages/react-docs/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "../../tsconfig", - "compilerOptions": { - "outDir": "lib", - "rootDir": "src", - "jsx": "react", - "baseUrl": ".", - "strictNullChecks": false, - "paths": { - "*": ["node_modules/@types/*", "*"] - } - }, - "include": ["./src/**/*"] -} diff --git a/packages/react-docs/tslint.json b/packages/react-docs/tslint.json deleted file mode 100644 index c3f6d9cae7..0000000000 --- a/packages/react-docs/tslint.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": ["@0x/tslint-config"], - "rules": { - "no-object-literal-type-assertion": false, - "completed-docs": false, - "prefer-function-over-method": false, - "custom-no-magic-numbers": false - } -} diff --git a/packages/website/package.json b/packages/website/package.json index ea44b849f6..786a57a8a4 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -26,8 +26,7 @@ "@0x/contract-wrappers": "^9.1.7", "@0x/json-schemas": "^3.0.11", "@0x/order-utils": "^8.2.2", - "@0x/react-docs": "^2.0.14", - "@0x/react-shared": "^2.0.14", + "@0x/react-shared": "^2.0.15", "@0x/subproviders": "^4.1.2", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", @@ -78,6 +77,7 @@ "redux-devtools-extension": "^2.13.2", "rollbar": "^2.4.7", "semver-sort": "0.0.4", + "semver": "5.5.0", "styled-components": "^4.1.1", "thenby": "^1.2.3", "truffle-contract": "2.0.1", @@ -85,6 +85,7 @@ "xml-js": "^1.6.4" }, "devDependencies": { + "@0x/tslint-config": "^3.0.1", "@types/accounting": "^0.4.1", "@types/blockies": "^0.0.0", "@types/deep-equal": "^1.0.0", diff --git a/packages/react-docs/src/components/badge.tsx b/packages/website/ts/components/documentation/reference/badge.tsx similarity index 100% rename from packages/react-docs/src/components/badge.tsx rename to packages/website/ts/components/documentation/reference/badge.tsx diff --git a/packages/react-docs/src/components/comment.tsx b/packages/website/ts/components/documentation/reference/comment.tsx similarity index 100% rename from packages/react-docs/src/components/comment.tsx rename to packages/website/ts/components/documentation/reference/comment.tsx diff --git a/packages/react-docs/src/components/custom_enum.tsx b/packages/website/ts/components/documentation/reference/custom_enum.tsx similarity index 100% rename from packages/react-docs/src/components/custom_enum.tsx rename to packages/website/ts/components/documentation/reference/custom_enum.tsx diff --git a/packages/react-docs/src/components/doc_reference.tsx b/packages/website/ts/components/documentation/reference/doc_reference.tsx similarity index 98% rename from packages/react-docs/src/components/doc_reference.tsx rename to packages/website/ts/components/documentation/reference/doc_reference.tsx index 0b1842b40c..755584b6fb 100644 --- a/packages/react-docs/src/components/doc_reference.tsx +++ b/packages/website/ts/components/documentation/reference/doc_reference.tsx @@ -23,9 +23,9 @@ import * as _ from 'lodash'; import * as React from 'react'; import * as semver from 'semver'; -import { DocsInfo } from '../docs_info'; -import { AddressByContractName, SupportedDocJson } from '../types'; -import { constants } from '../utils/constants'; +import { AddressByContractName, SupportedDocJson } from '../../../types'; +import { constants } from '../../../utils/constants'; +import { DocsInfo } from '../../../utils/docs_info'; import { Badge } from './badge'; import { Comment } from './comment'; diff --git a/packages/react-docs/src/components/enum.tsx b/packages/website/ts/components/documentation/reference/enum.tsx similarity index 92% rename from packages/react-docs/src/components/enum.tsx rename to packages/website/ts/components/documentation/reference/enum.tsx index f8fdefcfbc..a30efea25b 100644 --- a/packages/react-docs/src/components/enum.tsx +++ b/packages/website/ts/components/documentation/reference/enum.tsx @@ -1,7 +1,7 @@ import * as _ from 'lodash'; import * as React from 'react'; -import { EnumValue } from '../types'; +import { EnumValue } from '../../../types'; export interface EnumProps { values: EnumValue[]; diff --git a/packages/react-docs/src/components/event_definition.tsx b/packages/website/ts/components/documentation/reference/event_definition.tsx similarity index 98% rename from packages/react-docs/src/components/event_definition.tsx rename to packages/website/ts/components/documentation/reference/event_definition.tsx index b767697888..0b11692d3f 100644 --- a/packages/react-docs/src/components/event_definition.tsx +++ b/packages/website/ts/components/documentation/reference/event_definition.tsx @@ -3,7 +3,7 @@ import { Event, EventArg } from '@0x/types'; import * as _ from 'lodash'; import * as React from 'react'; -import { DocsInfo } from '../docs_info'; +import { DocsInfo } from '../../../utils/docs_info'; import { Type } from './type'; diff --git a/packages/react-docs/src/components/interface.tsx b/packages/website/ts/components/documentation/reference/interface.tsx similarity index 98% rename from packages/react-docs/src/components/interface.tsx rename to packages/website/ts/components/documentation/reference/interface.tsx index b823a62e15..5548d6f595 100644 --- a/packages/react-docs/src/components/interface.tsx +++ b/packages/website/ts/components/documentation/reference/interface.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import { CustomType, TypeDefinitionByName } from '@0x/types'; -import { DocsInfo } from '../docs_info'; +import { DocsInfo } from '../../../utils/docs_info'; import { Signature } from './signature'; import { Type } from './type'; diff --git a/packages/react-docs/src/components/property_block.tsx b/packages/website/ts/components/documentation/reference/property_block.tsx similarity index 96% rename from packages/react-docs/src/components/property_block.tsx rename to packages/website/ts/components/documentation/reference/property_block.tsx index d0bd84802b..9932161ce5 100644 --- a/packages/react-docs/src/components/property_block.tsx +++ b/packages/website/ts/components/documentation/reference/property_block.tsx @@ -2,8 +2,8 @@ import { AnchorTitle, HeaderSizes } from '@0x/react-shared'; import { Property, TypeDefinitionByName } from '@0x/types'; import * as React from 'react'; -import { DocsInfo } from '../docs_info'; -import { constants } from '../utils/constants'; +import { constants } from '../../../utils/constants'; +import { DocsInfo } from '../../../utils/docs_info'; import { Comment } from './comment'; import { SourceLink } from './source_link'; diff --git a/packages/react-docs/src/components/signature.tsx b/packages/website/ts/components/documentation/reference/signature.tsx similarity index 98% rename from packages/react-docs/src/components/signature.tsx rename to packages/website/ts/components/documentation/reference/signature.tsx index db55976a11..b068b4ecf0 100644 --- a/packages/react-docs/src/components/signature.tsx +++ b/packages/website/ts/components/documentation/reference/signature.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import { Parameter, Type as TypeDef, TypeDefinitionByName, TypeParameter } from '@0x/types'; -import { DocsInfo } from '../docs_info'; +import { DocsInfo } from '../../../utils/docs_info'; import { Type } from './type'; diff --git a/packages/react-docs/src/components/signature_block.tsx b/packages/website/ts/components/documentation/reference/signature_block.tsx similarity index 98% rename from packages/react-docs/src/components/signature_block.tsx rename to packages/website/ts/components/documentation/reference/signature_block.tsx index 320390a365..20a08a9cca 100644 --- a/packages/react-docs/src/components/signature_block.tsx +++ b/packages/website/ts/components/documentation/reference/signature_block.tsx @@ -3,8 +3,8 @@ import { Parameter, SolidityMethod, TypeDefinitionByName, TypescriptFunction, Ty import * as _ from 'lodash'; import * as React from 'react'; -import { DocsInfo } from '../docs_info'; -import { constants } from '../utils/constants'; +import { constants } from '../../../utils/constants'; +import { DocsInfo } from '../../../utils/docs_info'; import { Comment } from './comment'; import { Signature } from './signature'; diff --git a/packages/react-docs/src/components/source_link.tsx b/packages/website/ts/components/documentation/reference/source_link.tsx similarity index 100% rename from packages/react-docs/src/components/source_link.tsx rename to packages/website/ts/components/documentation/reference/source_link.tsx diff --git a/packages/react-docs/src/components/type.tsx b/packages/website/ts/components/documentation/reference/type.tsx similarity index 99% rename from packages/react-docs/src/components/type.tsx rename to packages/website/ts/components/documentation/reference/type.tsx index 99556f0b95..e04624d534 100644 --- a/packages/react-docs/src/components/type.tsx +++ b/packages/website/ts/components/documentation/reference/type.tsx @@ -5,7 +5,7 @@ import * as _ from 'lodash'; import * as React from 'react'; import * as ReactTooltip from 'react-tooltip'; -import { DocsInfo } from '../docs_info'; +import { DocsInfo } from '../../../utils/docs_info'; import { Signature } from './signature'; import { TypeDefinition } from './type_definition'; diff --git a/packages/react-docs/src/components/type_definition.tsx b/packages/website/ts/components/documentation/reference/type_definition.tsx similarity index 97% rename from packages/react-docs/src/components/type_definition.tsx rename to packages/website/ts/components/documentation/reference/type_definition.tsx index a1fde51dae..1b59d383e0 100644 --- a/packages/react-docs/src/components/type_definition.tsx +++ b/packages/website/ts/components/documentation/reference/type_definition.tsx @@ -4,9 +4,9 @@ import { errorUtils } from '@0x/utils'; import * as _ from 'lodash'; import * as React from 'react'; -import { DocsInfo } from '../docs_info'; -import { KindString, SupportedDocJson } from '../types'; -import { constants } from '../utils/constants'; +import { KindString, SupportedDocJson } from '../../../types'; +import { constants } from '../../../utils/constants'; +import { DocsInfo } from '../../../utils/docs_info'; import { Comment } from './comment'; import { CustomEnum } from './custom_enum'; diff --git a/packages/website/ts/components/top_bar/top_bar.tsx b/packages/website/ts/components/top_bar/top_bar.tsx index d5967cd1db..d88f6e99b6 100644 --- a/packages/website/ts/components/top_bar/top_bar.tsx +++ b/packages/website/ts/components/top_bar/top_bar.tsx @@ -1,4 +1,3 @@ -import { DocsInfo } from '@0x/react-docs'; import { ALink, colors, Link, Styles } from '@0x/react-shared'; import { ObjectMap } from '@0x/types'; import * as _ from 'lodash'; @@ -16,6 +15,8 @@ import { Deco, Key, ProviderType, WebsitePaths } from 'ts/types'; import { constants } from 'ts/utils/constants'; import { Translate } from 'ts/utils/translate'; +import { DocsInfo } from '../../utils/docs_info'; + export enum TopBarDisplayType { Default, Expanded, diff --git a/packages/website/ts/containers/asset_buyer_documentation.ts b/packages/website/ts/containers/asset_buyer_documentation.ts index a75c6d861b..16420f63f2 100644 --- a/packages/website/ts/containers/asset_buyer_documentation.ts +++ b/packages/website/ts/containers/asset_buyer_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/connect_documentation.ts b/packages/website/ts/containers/connect_documentation.ts index 1cfc0702ee..a28e476f6b 100644 --- a/packages/website/ts/containers/connect_documentation.ts +++ b/packages/website/ts/containers/connect_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/contract_wrappers_documentation.ts b/packages/website/ts/containers/contract_wrappers_documentation.ts index bbabce7a72..f9b5cdcca4 100644 --- a/packages/website/ts/containers/contract_wrappers_documentation.ts +++ b/packages/website/ts/containers/contract_wrappers_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/ethereum_types_documentation.ts b/packages/website/ts/containers/ethereum_types_documentation.ts index e6e4d4067b..9dcde324ab 100644 --- a/packages/website/ts/containers/ethereum_types_documentation.ts +++ b/packages/website/ts/containers/ethereum_types_documentation.ts @@ -1,9 +1,10 @@ -import { constants as docConstants, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; +import { constants } from '../utils/constants'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ @@ -14,7 +15,7 @@ const InstallationMarkdown = require('md/docs/ethereum_types/installation'); const markdownSections = { introduction: 'introduction', installation: 'installation', - types: docConstants.TYPES_SECTION_NAME, + types: constants.TYPES_SECTION_NAME, }; const docsInfoConfig: DocsInfoConfig = { diff --git a/packages/website/ts/containers/json_schemas_documentation.ts b/packages/website/ts/containers/json_schemas_documentation.ts index 1090265e7c..d4dc6f00af 100644 --- a/packages/website/ts/containers/json_schemas_documentation.ts +++ b/packages/website/ts/containers/json_schemas_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/migrations_documentation.ts b/packages/website/ts/containers/migrations_documentation.ts index bae84dfeaa..07237e5690 100644 --- a/packages/website/ts/containers/migrations_documentation.ts +++ b/packages/website/ts/containers/migrations_documentation.ts @@ -1,4 +1,3 @@ -import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { Dispatch } from 'redux'; @@ -8,6 +7,9 @@ import { State } from 'ts/redux/reducer'; import { DocPackages, ScreenWidths } from 'ts/types'; import { Translate } from 'ts/utils/translate'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; +import { DocsInfo } from '../utils/docs_info'; + /* tslint:disable:no-var-requires */ const IntroMarkdown1 = require('md/docs/migrations/1/introduction'); const InstallationMarkdown1 = require('md/docs/migrations/1/installation'); diff --git a/packages/website/ts/containers/order_utils_documentation.ts b/packages/website/ts/containers/order_utils_documentation.ts index 8d83357ca7..288f45c518 100644 --- a/packages/website/ts/containers/order_utils_documentation.ts +++ b/packages/website/ts/containers/order_utils_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/order_watcher_documentation.ts b/packages/website/ts/containers/order_watcher_documentation.ts index 149ffdd2af..f82947c3a6 100644 --- a/packages/website/ts/containers/order_watcher_documentation.ts +++ b/packages/website/ts/containers/order_watcher_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/smart_contracts_documentation.ts b/packages/website/ts/containers/smart_contracts_documentation.ts index d94e285a74..f0413de3e6 100644 --- a/packages/website/ts/containers/smart_contracts_documentation.ts +++ b/packages/website/ts/containers/smart_contracts_documentation.ts @@ -1,10 +1,10 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import { Networks } from '@0x/react-shared'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages, SmartContractDocSections as Sections } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/sol_compiler_documentation.ts b/packages/website/ts/containers/sol_compiler_documentation.ts index 31117372b4..3788b414a4 100644 --- a/packages/website/ts/containers/sol_compiler_documentation.ts +++ b/packages/website/ts/containers/sol_compiler_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/sol_coverage_documentation.ts b/packages/website/ts/containers/sol_coverage_documentation.ts index a9073b7200..9b8781fef2 100644 --- a/packages/website/ts/containers/sol_coverage_documentation.ts +++ b/packages/website/ts/containers/sol_coverage_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/sol_profiler_documentation.ts b/packages/website/ts/containers/sol_profiler_documentation.ts index 2f3936cae1..e2f5ea2611 100644 --- a/packages/website/ts/containers/sol_profiler_documentation.ts +++ b/packages/website/ts/containers/sol_profiler_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/sol_trace_documentation.ts b/packages/website/ts/containers/sol_trace_documentation.ts index 9c25524385..7275d65dbe 100644 --- a/packages/website/ts/containers/sol_trace_documentation.ts +++ b/packages/website/ts/containers/sol_trace_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/subproviders_documentation.ts b/packages/website/ts/containers/subproviders_documentation.ts index 2ac0360abc..23c70cca14 100644 --- a/packages/website/ts/containers/subproviders_documentation.ts +++ b/packages/website/ts/containers/subproviders_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/web3_wrapper_documentation.ts b/packages/website/ts/containers/web3_wrapper_documentation.ts index 73fea90ede..76539e73a7 100644 --- a/packages/website/ts/containers/web3_wrapper_documentation.ts +++ b/packages/website/ts/containers/web3_wrapper_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/containers/zero_ex_js_documentation.ts b/packages/website/ts/containers/zero_ex_js_documentation.ts index 0e47656567..737740a6b9 100644 --- a/packages/website/ts/containers/zero_ex_js_documentation.ts +++ b/packages/website/ts/containers/zero_ex_js_documentation.ts @@ -1,9 +1,9 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; import { DocPackages } from 'ts/types'; +import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; /* tslint:disable:no-var-requires */ diff --git a/packages/website/ts/pages/documentation/doc_page.tsx b/packages/website/ts/pages/documentation/doc_page.tsx index 7430f7fb10..fad56bccfe 100644 --- a/packages/website/ts/pages/documentation/doc_page.tsx +++ b/packages/website/ts/pages/documentation/doc_page.tsx @@ -1,11 +1,4 @@ -import { - DocAgnosticFormat, - DocReference, - DocsInfo, - GeneratedDocJson, - SupportedDocJson, - TypeDocUtils, -} from '@0x/react-docs'; +import { DocAgnosticFormat, GeneratedDocJson } from '@0x/types'; import findVersions from 'find-versions'; import * as _ from 'lodash'; import CircularProgress from 'material-ui/CircularProgress'; @@ -22,6 +15,11 @@ import { docUtils } from 'ts/utils/doc_utils'; import { Translate } from 'ts/utils/translate'; import { utils } from 'ts/utils/utils'; +import { DocReference } from '../../components/documentation/reference/doc_reference'; +import { SupportedDocJson } from '../../types'; +import { DocsInfo } from '../../utils/docs_info'; +import { TypeDocUtils } from '../../utils/typedoc_utils'; + const isDevelopmentOrStaging = utils.isDevelopment() || utils.isStaging(); const ZERO_EX_JS_VERSION_MISSING_TOPLEVEL_PATH = '0.32.4'; diff --git a/packages/website/ts/types.ts b/packages/website/ts/types.ts index ffe1478309..64d2e94c49 100644 --- a/packages/website/ts/types.ts +++ b/packages/website/ts/types.ts @@ -776,4 +776,71 @@ export interface TallyInterface { no?: BigNumber; blockNumber?: string; } + +export interface SectionNameToMarkdownByVersion { + [version: string]: { [sectionName: string]: string }; +} + +export interface DocsInfoConfig { + id: string; + packageName: string; + type: SupportedDocJson; + displayName: string; + packageUrl: string; + markdownMenu: DocsMenu; + markdownSections: SectionsMap; + sectionNameToMarkdownByVersion: SectionNameToMarkdownByVersion; + contractsByVersionByNetworkId?: ContractsByVersionByNetworkId; +} + +export interface DocsMenu { + [sectionName: string]: string[]; +} + +export interface SectionsMap { + [sectionName: string]: string; +} + +// Exception: We don't make the values uppercase because these KindString's need to +// match up those returned by TypeDoc +export enum KindString { + Constructor = 'Constructor', + Property = 'Property', + Method = 'Method', + Interface = 'Interface', + TypeAlias = 'Type alias', + ObjectLiteral = 'Object literal', + Variable = 'Variable', + Function = 'Function', + Enumeration = 'Enumeration', + Class = 'Class', +} + +export enum SupportedDocJson { + SolDoc = 'SOL_DOC', + TypeDoc = 'TYPEDOC', +} + +export interface ContractsByVersionByNetworkId { + [version: string]: { + [networkName: string]: { + [contractName: string]: string; + }; + }; +} + +export interface AddressByContractName { + [contractName: string]: string; +} + +export interface EnumValue { + name: string; + defaultValue?: string; +} + +export enum AbiTypes { + Constructor = 'constructor', + Function = 'function', + Event = 'event', +} // tslint:disable:max-file-line-count diff --git a/packages/website/ts/utils/constants.ts b/packages/website/ts/utils/constants.ts index 9b6475f537..558f589846 100644 --- a/packages/website/ts/utils/constants.ts +++ b/packages/website/ts/utils/constants.ts @@ -2,6 +2,8 @@ import { ALink } from '@0x/react-shared'; import { BigNumber } from '@0x/utils'; import { Key, WebsitePaths } from 'ts/types'; +import { SupportedDocJson } from '../types'; + const URL_FORUM = 'https://forum.0x.org'; const URL_ZEROEX_CHAT = 'https://discord.gg/d3FTX3M'; @@ -132,4 +134,10 @@ export const constants = { shouldOpenInNewTab: true, }, ] as ALink[], + TYPES_SECTION_NAME: 'types', + EXTERNAL_EXPORTS_SECTION_NAME: 'external exports', + TYPE_TO_SYNTAX: { + [SupportedDocJson.SolDoc]: 'solidity', + [SupportedDocJson.TypeDoc]: 'typescript', + } as { [supportedDocType: string]: string }, }; diff --git a/packages/website/ts/utils/doc_utils.ts b/packages/website/ts/utils/doc_utils.ts index 6be164e6ee..eeda910120 100644 --- a/packages/website/ts/utils/doc_utils.ts +++ b/packages/website/ts/utils/doc_utils.ts @@ -1,4 +1,4 @@ -import { DocAgnosticFormat, GeneratedDocJson } from '@0x/react-docs'; +import { DocAgnosticFormat, GeneratedDocJson } from '@0x/types'; import { fetchAsync, logUtils } from '@0x/utils'; import * as _ from 'lodash'; import { S3FileObject, VersionToFilePath } from 'ts/types'; diff --git a/packages/react-docs/src/docs_info.ts b/packages/website/ts/utils/docs_info.ts similarity index 98% rename from packages/react-docs/src/docs_info.ts rename to packages/website/ts/utils/docs_info.ts index 70fdb42350..1317129a6c 100644 --- a/packages/react-docs/src/docs_info.ts +++ b/packages/website/ts/utils/docs_info.ts @@ -9,8 +9,9 @@ import { SectionNameToMarkdownByVersion, SectionsMap, SupportedDocJson, -} from './types'; -import { constants } from './utils/constants'; +} from '../types'; + +import { constants } from './constants'; export class DocsInfo { public id: string; diff --git a/packages/website/ts/utils/documentation_container.ts b/packages/website/ts/utils/documentation_container.ts index 54e8a2c1ab..df86ccf043 100644 --- a/packages/website/ts/utils/documentation_container.ts +++ b/packages/website/ts/utils/documentation_container.ts @@ -1,11 +1,12 @@ -import { DocsInfo, DocsInfoConfig } from '@0x/react-docs'; import { Dispatch } from 'redux'; import { DocPageProps } from 'ts/pages/documentation/doc_page'; import { Dispatcher } from 'ts/redux/dispatcher'; import { State } from 'ts/redux/reducer'; -import { ScreenWidths } from 'ts/types'; +import { DocsInfoConfig, ScreenWidths } from 'ts/types'; import { Translate } from 'ts/utils/translate'; +import { DocsInfo } from 'ts/utils/docs_info'; + export interface ConnectedState { docsVersion: string; availableDocVersions: string[]; diff --git a/packages/react-docs/src/utils/typedoc_utils.ts b/packages/website/ts/utils/typedoc_utils.ts similarity index 99% rename from packages/react-docs/src/utils/typedoc_utils.ts rename to packages/website/ts/utils/typedoc_utils.ts index 0557a470fb..054bf0563d 100644 --- a/packages/react-docs/src/utils/typedoc_utils.ts +++ b/packages/website/ts/utils/typedoc_utils.ts @@ -20,10 +20,10 @@ import { import { errorUtils } from '@0x/utils'; import * as _ from 'lodash'; -import { DocsInfo } from '../docs_info'; import { KindString } from '../types'; import { constants } from './constants'; +import { DocsInfo } from './docs_info'; export class TypeDocUtils { private readonly _typeDocNameOrder: string[]; diff --git a/tsconfig.json b/tsconfig.json index 4d563d3116..6e723a7f37 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -50,7 +50,6 @@ { "path": "./packages/monorepo-scripts" }, { "path": "./packages/order-utils" }, { "path": "./packages/order-watcher" }, - { "path": "./packages/react-docs" }, { "path": "./packages/react-shared" }, { "path": "./packages/sol-compiler" }, { "path": "./packages/sol-coverage" }, diff --git a/yarn.lock b/yarn.lock index 1bb3183d1f..68d9fdb908 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1726,9 +1726,12 @@ version "0.22.9" resolved "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.9.tgz#b5990152604c2ada749b7f88cab3476f21f39d7b" -"@types/compare-versions@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/compare-versions/-/compare-versions-3.0.0.tgz#4a45dffe0ebbc00d0f2daef8a0e96ffc66cf5955" +"@types/chokidar@^1.7.5": + version "1.7.5" + resolved "https://registry.yarnpkg.com/@types/chokidar/-/chokidar-1.7.5.tgz#1fa78c8803e035bed6d98e6949e514b133b0c9b6" + dependencies: + "@types/events" "*" + "@types/node" "*" "@types/deep-equal@^1.0.0": version "1.0.1" @@ -5011,10 +5014,6 @@ compare-func@^1.3.1: array-ify "^1.0.0" dot-prop "^3.0.0" -compare-versions@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.1.0.tgz#43310256a5c555aaed4193c04d8f154cf9c6efd5" - component-classes@^1.2.5: version "1.2.6" resolved "https://registry.yarnpkg.com/component-classes/-/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" From ec7f9d8a63152e44da398b81140d314ec09034a3 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 25 Jul 2019 11:18:42 +0200 Subject: [PATCH 029/162] Remove react-shared package and fold it into website --- .github/autolabeler.yml | 1 - packages/dev-tools-pages/package.json | 1 - packages/react-shared/.npmignore | 9 - packages/react-shared/CHANGELOG.json | 506 ------------------ packages/react-shared/CHANGELOG.md | 228 -------- packages/react-shared/README.md | 63 --- packages/react-shared/package.json | 66 --- packages/react-shared/src/globals.d.ts | 6 - packages/react-shared/src/index.ts | 12 - packages/react-shared/src/types.ts | 33 -- packages/react-shared/src/utils/constants.ts | 19 - packages/react-shared/src/utils/utils.ts | 52 -- packages/react-shared/tsconfig.json | 13 - packages/react-shared/tslint.json | 9 - packages/website/package.json | 7 +- packages/website/ts/blockchain.ts | 20 +- .../dialogs/blockchain_err_dialog.tsx | 4 +- .../dialogs/eth_weth_conversion_dialog.tsx | 2 +- .../dialogs/ledger_config_dialog.tsx | 6 +- .../dialogs/portal_disclaimer_dialog.tsx | 2 +- .../ts/components/documentation/.DS_Store | Bin 0 -> 6148 bytes .../ts/components/documentation/docs_logo.tsx | 2 +- .../components/documentation/docs_top_bar.tsx | 5 +- .../documentation/overview_content.tsx | 9 +- .../documentation/reference/badge.tsx | 2 +- .../documentation/reference/comment.tsx | 3 +- .../documentation/reference/doc_reference.tsx | 30 +- .../documentation/reference/enum.tsx | 2 +- .../reference/event_definition.tsx | 6 +- .../documentation/reference/interface.tsx | 2 +- .../reference/property_block.tsx | 7 +- .../documentation/reference/signature.tsx | 2 +- .../reference/signature_block.tsx | 8 +- .../documentation/reference/source_link.tsx | 4 +- .../documentation/reference/type.tsx | 8 +- .../reference/type_definition.tsx | 9 +- .../components/documentation/shared/.DS_Store | Bin 0 -> 6148 bytes .../documentation/shared}/anchor_title.tsx | 7 +- .../components/documentation/shared}/link.tsx | 4 +- .../shared}/markdown_code_block.tsx | 0 .../shared}/markdown_link_block.tsx | 4 +- .../shared}/markdown_paragraph_block.tsx | 2 +- .../shared}/markdown_section.tsx | 6 +- .../documentation/shared}/section_header.tsx | 6 +- .../documentation/sidebar_header.tsx | 2 +- .../documentation/tutorial_button.tsx | 5 +- .../documentation/version_drop_down.tsx | 2 +- .../dropdowns/developers_drop_down.tsx | 6 +- .../dropdowns/dropdown_developers.tsx | 4 +- .../dropdowns/dropdown_resources.tsx | 4 +- .../dropdowns/network_drop_down.tsx | 4 +- .../website/ts/components/eth_wrappers.tsx | 7 +- packages/website/ts/components/fill_order.tsx | 4 +- .../ts/components/fill_warning_dialog.tsx | 2 +- .../flash_messages/asset_send_completed.tsx | 2 +- .../flash_messages/transaction_submitted.tsx | 2 +- packages/website/ts/components/footer.tsx | 2 +- .../generate_order/generate_order_form.tsx | 2 +- .../generate_order/new_token_form.tsx | 2 +- packages/website/ts/components/header.tsx | 2 +- .../ts/components/inputs/address_input.tsx | 2 +- .../inputs/allowance_state_toggle.tsx | 2 +- .../inputs/balance_bounded_input.tsx | 2 +- .../ts/components/inputs/hash_input.tsx | 3 +- .../components/inputs/token_amount_input.tsx | 3 +- .../ts/components/inputs/token_input.tsx | 2 +- packages/website/ts/components/link.tsx | 2 +- .../ts/components/nested_sidebar_menu.tsx | 11 +- packages/website/ts/components/old_footer.tsx | 6 +- .../install_wallet_onboarding_step.tsx | 2 +- .../components/onboarding/onboarding_card.tsx | 2 +- .../onboarding/wrap_eth_onboarding_step.tsx | 2 +- .../ts/components/portal/back_button.tsx | 3 +- .../ts/components/portal/drawer_menu.tsx | 3 +- .../website/ts/components/portal/menu.tsx | 3 +- .../website/ts/components/portal/portal.tsx | 3 +- .../ts/components/portal/text_header.tsx | 2 +- .../relayer_index/relayer_grid_tile.tsx | 3 +- .../relayer_index/relayer_top_tokens.tsx | 6 +- .../website/ts/components/token_balances.tsx | 18 +- .../components/top_bar/provider_display.tsx | 3 +- .../website/ts/components/top_bar/top_bar.tsx | 6 +- .../components/top_bar/top_bar_menu_item.tsx | 3 +- .../components/track_token_confirmation.tsx | 2 +- .../trade_history/trade_history_item.tsx | 4 +- packages/website/ts/components/ui/alert.tsx | 2 +- .../ts/components/ui/allowance_state_view.tsx | 2 +- packages/website/ts/components/ui/button.tsx | 2 +- .../website/ts/components/ui/check_mark.tsx | 2 +- .../website/ts/components/ui/copy_icon.tsx | 2 +- .../ts/components/ui/custom_menu_item.tsx | 2 +- .../ts/components/ui/ethereum_address.tsx | 2 +- .../ts/components/ui/etherscan_icon.tsx | 6 +- .../ts/components/ui/fake_text_field.tsx | 2 +- .../website/ts/components/ui/icon_button.tsx | 3 +- .../website/ts/components/ui/input_label.tsx | 3 +- .../components/ui/lifecycle_raised_button.tsx | 2 +- .../website/ts/components/ui/multi_select.tsx | 2 +- packages/website/ts/components/ui/party.tsx | 6 +- packages/website/ts/components/ui/pointer.tsx | 2 +- .../ts/components/ui/required_label.tsx | 2 +- .../website/ts/components/ui/simple_menu.tsx | 2 +- packages/website/ts/components/ui/spinner.tsx | 2 +- .../website/ts/components/ui/swap_icon.tsx | 2 +- packages/website/ts/components/ui/text.tsx | 2 +- .../website/ts/components/wallet/wallet.tsx | 6 +- .../ts/components/wallet/wrap_ether_item.tsx | 3 +- .../smart_contracts_documentation.ts | 3 +- .../pages/documentation/developers_page.tsx | 5 +- .../ts/pages/documentation/docs_home.tsx | 6 +- packages/website/ts/pages/faq/faq.tsx | 4 +- packages/website/ts/pages/faq/question.tsx | 2 +- packages/website/ts/pages/instant.tsx | 5 +- packages/website/ts/pages/wiki/wiki.tsx | 18 +- packages/website/ts/style/colors.ts | 2 +- packages/website/ts/types.ts | 34 +- .../src => website/ts}/utils/colors.ts | 0 packages/website/ts/utils/constants.ts | 18 +- packages/website/ts/utils/docs_info.ts | 5 +- packages/website/ts/utils/mui_theme.ts | 2 +- packages/website/ts/utils/utils.ts | 53 +- yarn.lock | 227 +------- 122 files changed, 322 insertions(+), 1458 deletions(-) delete mode 100644 packages/react-shared/.npmignore delete mode 100644 packages/react-shared/CHANGELOG.json delete mode 100644 packages/react-shared/CHANGELOG.md delete mode 100644 packages/react-shared/README.md delete mode 100644 packages/react-shared/package.json delete mode 100644 packages/react-shared/src/globals.d.ts delete mode 100644 packages/react-shared/src/index.ts delete mode 100644 packages/react-shared/src/types.ts delete mode 100644 packages/react-shared/src/utils/constants.ts delete mode 100644 packages/react-shared/src/utils/utils.ts delete mode 100644 packages/react-shared/tsconfig.json delete mode 100644 packages/react-shared/tslint.json create mode 100644 packages/website/ts/components/documentation/.DS_Store create mode 100644 packages/website/ts/components/documentation/shared/.DS_Store rename packages/{react-shared/src/components => website/ts/components/documentation/shared}/anchor_title.tsx (93%) rename packages/{react-shared/src/components => website/ts/components/documentation/shared}/link.tsx (98%) rename packages/{react-shared/src/components => website/ts/components/documentation/shared}/markdown_code_block.tsx (100%) rename packages/{react-shared/src/components => website/ts/components/documentation/shared}/markdown_link_block.tsx (95%) rename packages/{react-shared/src/components => website/ts/components/documentation/shared}/markdown_paragraph_block.tsx (90%) rename packages/{react-shared/src/components => website/ts/components/documentation/shared}/markdown_section.tsx (97%) rename packages/{react-shared/src/components => website/ts/components/documentation/shared}/section_header.tsx (94%) rename packages/{react-shared/src => website/ts}/utils/colors.ts (100%) diff --git a/.github/autolabeler.yml b/.github/autolabeler.yml index cf40d91812..93de7be30b 100644 --- a/.github/autolabeler.yml +++ b/.github/autolabeler.yml @@ -23,7 +23,6 @@ contracts: ['contracts'] @0x/asset-buyer: ['packages/asset-buyer'] @0x/order-watcher: ['packages/order-watcher'] @0x/order-utils: ['packages/order-utils'] -@0x/react-shared: ['packages/react-shared'] @0x/assert: ['packages/assert'] @0x/base-contract: ['packages/base-contract'] @0x/typescript-typings: ['packages/typescript-typings'] diff --git a/packages/dev-tools-pages/package.json b/packages/dev-tools-pages/package.json index 5bbfed010b..03f093b874 100644 --- a/packages/dev-tools-pages/package.json +++ b/packages/dev-tools-pages/package.json @@ -27,7 +27,6 @@ }, "license": "Apache-2.0", "dependencies": { - "@0x/react-shared": "^2.0.14", "basscss": "^8.0.3", "bowser": "^1.9.4", "highlight.js": "^9.13.1", diff --git a/packages/react-shared/.npmignore b/packages/react-shared/.npmignore deleted file mode 100644 index ea588d4859..0000000000 --- a/packages/react-shared/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -# Blacklist all files -.* -* -# Whitelist lib -!lib/**/* -# Blacklist tests and publish scripts -/lib/test/* -/lib/monorepo_scripts/ -# Package specific ignore diff --git a/packages/react-shared/CHANGELOG.json b/packages/react-shared/CHANGELOG.json deleted file mode 100644 index be35ad9d9b..0000000000 --- a/packages/react-shared/CHANGELOG.json +++ /dev/null @@ -1,506 +0,0 @@ -[ - { - "timestamp": 1563957393, - "version": "2.0.15", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1563047529, - "version": "2.0.14", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1563006338, - "version": "2.0.13", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1558712885, - "version": "2.0.12", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1557507213, - "version": "2.0.11", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "2.0.10", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1554997931 - }, - { - "timestamp": 1553183790, - "version": "2.0.9", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1553091633, - "version": "2.0.8", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1551479279, - "version": "2.0.7", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1551220833, - "version": "2.0.6", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1551130135, - "version": "2.0.5", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1549733923, - "version": "2.0.4", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "2.0.3", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1549547375 - }, - { - "timestamp": 1549504360, - "version": "2.0.2", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1549452781, - "version": "2.0.1", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "2.0.0", - "changes": [ - { - "note": "Upgrade the bignumber.js to v8.0.2", - "pr": 1517 - } - ], - "timestamp": 1549373905 - }, - { - "timestamp": 1547561734, - "version": "1.1.2", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1547225310, - "version": "1.1.1", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "1.1.0", - "changes": [ - { - "note": "Change implementation to use react-router-dom NavLink instead of Link. Expose `activeStyle` prop.", - "pr": 1448 - } - ], - "timestamp": 1547040760 - }, - { - "version": "1.0.25", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1544739608 - }, - { - "version": "1.0.24", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1544570656 - }, - { - "timestamp": 1543401373, - "version": "1.0.23", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1542821676, - "version": "1.0.22", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1542208198, - "version": "1.0.21", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1542134075, - "version": "1.0.20", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1542028948, - "version": "1.0.19", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "1.0.18", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1541740904 - }, - { - "version": "1.0.17", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1539871071 - }, - { - "timestamp": 1538693146, - "version": "1.0.16", - "changes": [ - { - "note": "Unpublished package" - } - ] - }, - { - "timestamp": 1538475601, - "version": "1.0.14", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1538157789, - "version": "1.0.13", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1537907159, - "version": "1.0.12", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1537875740, - "version": "1.0.11", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1537541580, - "version": "1.0.10", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1536142250, - "version": "1.0.9", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1535377027, - "version": "1.0.8", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1535133899, - "version": "1.0.7", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1534210131, - "version": "1.0.6", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1532619515, - "version": "1.0.5", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1532614997, - "version": "1.0.4", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1532605697, - "version": "1.0.3", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1532551340, - "version": "1.0.2", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1532357734, - "version": "1.0.1", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1532043000, - "version": "1.0.0", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1531919263, - "version": "0.2.3", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1531149657, - "version": "0.2.2", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1529397769, - "version": "0.2.1", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1525477860, - "version": "0.2.0", - "changes": [ - { - "note": "Removed portal specific colors" - } - ] - }, - { - "timestamp": 1525477860, - "version": "0.1.6", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1525466747, - "version": "0.1.5", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1525428773, - "version": "0.1.4", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1524044013, - "version": "0.1.3", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1523462196, - "version": "0.1.2", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1522673609, - "version": "0.1.1", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "0.1.0", - "changes": [ - { - "note": "Added new colors", - "pr": 468 - }, - { - "note": "Fix section and menuItem text display to replace dashes with spaces." - }, - { - "note": "Reorganized colors and added new ones" - } - ], - "timestamp": 1522658513 - } -] diff --git a/packages/react-shared/CHANGELOG.md b/packages/react-shared/CHANGELOG.md deleted file mode 100644 index 9ead479c73..0000000000 --- a/packages/react-shared/CHANGELOG.md +++ /dev/null @@ -1,228 +0,0 @@ - - -CHANGELOG - -## v2.0.15 - _July 24, 2019_ - - * Dependencies updated - -## v2.0.14 - _July 13, 2019_ - - * Dependencies updated - -## v2.0.13 - _July 13, 2019_ - - * Dependencies updated - -## v2.0.12 - _May 24, 2019_ - - * Dependencies updated - -## v2.0.11 - _May 10, 2019_ - - * Dependencies updated - -## v2.0.10 - _April 11, 2019_ - - * Dependencies updated - -## v2.0.9 - _March 21, 2019_ - - * Dependencies updated - -## v2.0.8 - _March 20, 2019_ - - * Dependencies updated - -## v2.0.7 - _March 1, 2019_ - - * Dependencies updated - -## v2.0.6 - _February 26, 2019_ - - * Dependencies updated - -## v2.0.5 - _February 25, 2019_ - - * Dependencies updated - -## v2.0.4 - _February 9, 2019_ - - * Dependencies updated - -## v2.0.3 - _February 7, 2019_ - - * Dependencies updated - -## v2.0.2 - _February 7, 2019_ - - * Dependencies updated - -## v2.0.1 - _February 6, 2019_ - - * Dependencies updated - -## v2.0.0 - _February 5, 2019_ - - * Upgrade the bignumber.js to v8.0.2 (#1517) - -## v1.1.2 - _January 15, 2019_ - - * Dependencies updated - -## v1.1.1 - _January 11, 2019_ - - * Dependencies updated - -## v1.1.0 - _January 9, 2019_ - - * Change implementation to use react-router-dom NavLink instead of Link. Expose `activeStyle` prop. (#1448) - -## v1.0.25 - _December 13, 2018_ - - * Dependencies updated - -## v1.0.24 - _December 11, 2018_ - - * Dependencies updated - -## v1.0.23 - _November 28, 2018_ - - * Dependencies updated - -## v1.0.22 - _November 21, 2018_ - - * Dependencies updated - -## v1.0.21 - _November 14, 2018_ - - * Dependencies updated - -## v1.0.20 - _November 13, 2018_ - - * Dependencies updated - -## v1.0.19 - _November 12, 2018_ - - * Dependencies updated - -## v1.0.18 - _November 9, 2018_ - - * Dependencies updated - -## v1.0.17 - _October 18, 2018_ - - * Dependencies updated - -## v1.0.16 - _October 4, 2018_ - - * Unpublished package - -## v1.0.14 - _October 2, 2018_ - - * Dependencies updated - -## v1.0.13 - _September 28, 2018_ - - * Dependencies updated - -## v1.0.12 - _September 25, 2018_ - - * Dependencies updated - -## v1.0.11 - _September 25, 2018_ - - * Dependencies updated - -## v1.0.10 - _September 21, 2018_ - - * Dependencies updated - -## v1.0.9 - _September 5, 2018_ - - * Dependencies updated - -## v1.0.8 - _August 27, 2018_ - - * Dependencies updated - -## v1.0.7 - _August 24, 2018_ - - * Dependencies updated - -## v1.0.6 - _August 14, 2018_ - - * Dependencies updated - -## v1.0.5 - _July 26, 2018_ - - * Dependencies updated - -## v1.0.4 - _July 26, 2018_ - - * Dependencies updated - -## v1.0.3 - _July 26, 2018_ - - * Dependencies updated - -## v1.0.2 - _July 25, 2018_ - - * Dependencies updated - -## v1.0.1 - _July 23, 2018_ - - * Dependencies updated - -## v1.0.0 - _July 19, 2018_ - - * Dependencies updated - -## v0.2.3 - _July 18, 2018_ - - * Dependencies updated - -## v0.2.2 - _July 9, 2018_ - - * Dependencies updated - -## v0.2.1 - _June 19, 2018_ - - * Dependencies updated - -## v0.2.0 - _May 4, 2018_ - - * Removed portal specific colors - -## v0.1.6 - _May 4, 2018_ - - * Dependencies updated - -## v0.1.5 - _May 4, 2018_ - - * Dependencies updated - -## v0.1.4 - _May 4, 2018_ - - * Dependencies updated - -## v0.1.3 - _April 18, 2018_ - - * Dependencies updated - -## v0.1.2 - _April 11, 2018_ - - * Dependencies updated - -## v0.1.1 - _April 2, 2018_ - - * Dependencies updated - -## v0.1.0 - _April 2, 2018_ - - * Added new colors (#468) - * Fix section and menuItem text display to replace dashes with spaces. - * Reorganized colors and added new ones diff --git a/packages/react-shared/README.md b/packages/react-shared/README.md deleted file mode 100644 index 7ff9a94d90..0000000000 --- a/packages/react-shared/README.md +++ /dev/null @@ -1,63 +0,0 @@ -## @0x/react-shared - -Contains React components & frontend types/utils shared between 0x projects. - -## Installation - -```bash -yarn add @0x/react-shared -``` - -If your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`: - -```json -"compilerOptions": { - "typeRoots": ["node_modules/@0x/typescript-typings/types", "node_modules/@types"], -} -``` - -## Contributing - -We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository. - -Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started. - -### Install dependencies - -If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them: - -```bash -yarn config set workspaces-experimental true -``` - -Then install dependencies - -```bash -yarn install -``` - -### Build - -To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory: - -```bash -PKG=@0x/react-shared yarn build -``` - -Or continuously rebuild on change: - -```bash -PKG=@0x/react-shared yarn watch -``` - -### Clean - -```bash -yarn clean -``` - -### Lint - -```bash -yarn lint -``` diff --git a/packages/react-shared/package.json b/packages/react-shared/package.json deleted file mode 100644 index 9cf89fda31..0000000000 --- a/packages/react-shared/package.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "@0x/react-shared", - "version": "2.0.15", - "engines": { - "node": ">=6.12" - }, - "description": "0x shared react components", - "main": "lib/index.js", - "types": "lib/index.d.ts", - "scripts": { - "lint": "tslint --format stylish --project .", - "fix": "tslint --fix --format stylish --project .", - "build": "tsc", - "build:ci": "yarn build", - "watch_without_deps": "tsc -w", - "clean": "shx rm -rf lib" - }, - "author": "Fabio Berger", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/0xProject/0x-monorepo/issues" - }, - "homepage": "https://github.com/0xProject/0x-monorepo/packages/react-shared/README.md", - "repository": { - "type": "git", - "url": "https://github.com/0xProject/0x-monorepo.git" - }, - "devDependencies": { - "@0x/dev-utils": "^2.2.5", - "@0x/tslint-config": "^3.0.1", - "make-promises-safe": "^1.1.0", - "shx": "^0.2.2", - "tslint": "5.11.0", - "typescript": "3.0.1" - }, - "dependencies": { - "@0x/types": "^2.4.1", - "@material-ui/core": "^3.0.1", - "@types/is-mobile": "0.3.0", - "@types/lodash": "4.14.104", - "@types/material-ui": "^0.20.0", - "@types/node": "*", - "@types/react": "*", - "@types/react-dom": "*", - "@types/react-router-dom": "^4.0.4", - "@types/react-scroll": "1.5.3", - "@types/styled-components": "4.1.1", - "@types/valid-url": "^1.0.2", - "basscss": "^8.0.3", - "change-case": "^3.0.2", - "is-mobile": "^0.2.2", - "lodash": "^4.17.11", - "material-ui": "^0.20.0", - "react": "^16.5.2", - "react-dom": "^16.5.2", - "react-highlight": "0xproject/react-highlight#react-peer-deps", - "react-markdown": "^3.2.2", - "react-router-dom": "^4.3.1", - "react-scroll": "0xproject/react-scroll#pr-330-and-replace-state", - "styled-components": "^4.1.1", - "valid-url": "^1.0.9" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/packages/react-shared/src/globals.d.ts b/packages/react-shared/src/globals.d.ts deleted file mode 100644 index 94e63a32de..0000000000 --- a/packages/react-shared/src/globals.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -declare module '*.json' { - const json: any; - /* tslint:disable */ - export default json; - /* tslint:enable */ -} diff --git a/packages/react-shared/src/index.ts b/packages/react-shared/src/index.ts deleted file mode 100644 index 285e1c6b45..0000000000 --- a/packages/react-shared/src/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -export { AnchorTitle } from './components/anchor_title'; -export { MarkdownLinkBlock } from './components/markdown_link_block'; -export { MarkdownCodeBlock } from './components/markdown_code_block'; -export { MarkdownSection } from './components/markdown_section'; -export { SectionHeader } from './components/section_header'; -export { Link, LinkProps } from './components/link'; - -export { HeaderSizes, Styles, EtherscanLinkSuffixes, Networks, ALink } from './types'; - -export { utils } from './utils/utils'; -export { constants } from './utils/constants'; -export { colors } from './utils/colors'; diff --git a/packages/react-shared/src/types.ts b/packages/react-shared/src/types.ts deleted file mode 100644 index 9e8dcb6b64..0000000000 --- a/packages/react-shared/src/types.ts +++ /dev/null @@ -1,33 +0,0 @@ -export interface Styles { - [name: string]: React.CSSProperties; -} - -export enum HeaderSizes { - H1 = 'h1', - H2 = 'h2', - H3 = 'h3', -} - -export enum EtherscanLinkSuffixes { - Address = 'address', - Tx = 'tx', -} - -export enum Networks { - Mainnet = 'Mainnet', - Kovan = 'Kovan', - Ropsten = 'Ropsten', - Rinkeby = 'Rinkeby', -} - -export enum LinkType { - External = 'EXTERNAL', - ReactScroll = 'REACT_SCROLL', - ReactRoute = 'REACT_ROUTE', -} - -export interface ALink { - title: string; - to: string; - shouldOpenInNewTab?: boolean; -} diff --git a/packages/react-shared/src/utils/constants.ts b/packages/react-shared/src/utils/constants.ts deleted file mode 100644 index 2dca1a078d..0000000000 --- a/packages/react-shared/src/utils/constants.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Networks } from '../types'; - -export const constants = { - DOCS_SCROLL_DURATION_MS: 0, - SCROLL_CONTAINER_ID: 'scroll_container', - SCROLL_TOP_ID: 'pageScrollTop', - NETWORK_NAME_BY_ID: { - 1: Networks.Mainnet, - 3: Networks.Ropsten, - 4: Networks.Rinkeby, - 42: Networks.Kovan, - } as { [symbol: number]: string }, - NETWORK_ID_BY_NAME: { - [Networks.Mainnet]: 1, - [Networks.Ropsten]: 3, - [Networks.Rinkeby]: 4, - [Networks.Kovan]: 42, - } as { [networkName: string]: number }, -}; diff --git a/packages/react-shared/src/utils/utils.ts b/packages/react-shared/src/utils/utils.ts deleted file mode 100644 index 16e7930ede..0000000000 --- a/packages/react-shared/src/utils/utils.ts +++ /dev/null @@ -1,52 +0,0 @@ -import changeCase = require('change-case'); -import isMobile = require('is-mobile'); -import * as _ from 'lodash'; -import { scroller } from 'react-scroll'; - -import { EtherscanLinkSuffixes, Networks } from '../types'; - -import { constants } from './constants'; - -export const utils = { - setUrlHash(anchorId: string): void { - window.location.hash = anchorId; - }, - scrollToHash(hash: string, containerId: string): void { - let finalHash = hash; - if (_.isEmpty(hash)) { - finalHash = constants.SCROLL_TOP_ID; // scroll to the top - } - - scroller.scrollTo(finalHash, { - duration: 0, - offset: 0, - containerId, - }); - }, - isUserOnMobile(): boolean { - const isUserOnMobile = isMobile(); - return isUserOnMobile; - }, - getIdFromName(name: string): string { - const id = name.replace(/ /g, '-'); - return id; - }, - convertDashesToSpaces(text: string): string { - return text.replace(/-/g, ' '); - }, - convertCamelCaseToSpaces(text: string): string { - return changeCase.snake(text).replace(/_/g, ' '); - }, - getEtherScanLinkIfExists( - addressOrTxHash: string, - networkId: number, - suffix: EtherscanLinkSuffixes, - ): string | undefined { - const networkName = constants.NETWORK_NAME_BY_ID[networkId]; - if (networkName === undefined) { - return undefined; - } - const etherScanPrefix = networkName === Networks.Mainnet ? '' : `${networkName.toLowerCase()}.`; - return `https://${etherScanPrefix}etherscan.io/${suffix}/${addressOrTxHash}`; - }, -}; diff --git a/packages/react-shared/tsconfig.json b/packages/react-shared/tsconfig.json deleted file mode 100644 index 5abe0ab4e7..0000000000 --- a/packages/react-shared/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../../tsconfig", - "compilerOptions": { - "outDir": "lib", - "rootDir": "src", - "jsx": "react", - "baseUrl": ".", - "paths": { - "*": ["node_modules/@types/*", "*"] - } - }, - "include": ["./src/**/*"] -} diff --git a/packages/react-shared/tslint.json b/packages/react-shared/tslint.json deleted file mode 100644 index c3f6d9cae7..0000000000 --- a/packages/react-shared/tslint.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": ["@0x/tslint-config"], - "rules": { - "no-object-literal-type-assertion": false, - "completed-docs": false, - "prefer-function-over-method": false, - "custom-no-magic-numbers": false - } -} diff --git a/packages/website/package.json b/packages/website/package.json index 786a57a8a4..09a9064fe7 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -26,7 +26,6 @@ "@0x/contract-wrappers": "^9.1.7", "@0x/json-schemas": "^3.0.11", "@0x/order-utils": "^8.2.2", - "@0x/react-shared": "^2.0.15", "@0x/subproviders": "^4.1.2", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", @@ -41,10 +40,13 @@ "basscss": "^8.0.3", "blockies": "^0.0.2", "bowser": "^1.9.4", + "change-case": "^3.0.2", "deep-equal": "^1.0.1", "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "find-versions": "^2.0.0", + "is-mobile": "^0.2.2", + "valid-url": "^1.0.9", "jsonschema": "^1.2.0", "less": "^2.7.2", "lodash": "^4.17.11", @@ -61,6 +63,7 @@ "react-flickity-component": "^3.1.0", "react-headroom": "2.2.2", "react-helmet": "^5.2.0", + "react-highlight": "0xproject/react-highlight#react-peer-deps", "react-lazyload": "^2.3.0", "react-loadable": "^5.5.0", "react-markdown": "^4.0.6", @@ -90,6 +93,8 @@ "@types/blockies": "^0.0.0", "@types/deep-equal": "^1.0.0", "@types/find-versions": "^2.0.0", + "@types/is-mobile": "0.3.0", + "@types/valid-url": "^1.0.2", "@types/jsonschema": "^1.1.1", "@types/lodash": "4.14.104", "@types/material-ui": "^0.20.0", diff --git a/packages/website/ts/blockchain.ts b/packages/website/ts/blockchain.ts index de7f38a8b5..1767384703 100644 --- a/packages/website/ts/blockchain.ts +++ b/packages/website/ts/blockchain.ts @@ -9,7 +9,6 @@ import { IndexedFilterValues, } from '@0x/contract-wrappers'; import { assetDataUtils, orderHashUtils, signatureUtils } from '@0x/order-utils'; -import { EtherscanLinkSuffixes, utils as sharedUtils } from '@0x/react-shared'; import { ledgerEthereumBrowserClientFactoryAsync, LedgerSubprovider, @@ -43,6 +42,7 @@ import { BlockchainCallErrs, BlockchainErrs, ContractInstance, + EtherscanLinkSuffixes, Fill, InjectedProvider, InjectedProviderObservable, @@ -258,11 +258,7 @@ export class Blockchain { this._showFlashMessageIfLedger(); const txHash = await this._web3Wrapper.sendTransactionAsync(transaction); await this._showEtherScanLinkAndAwaitTransactionMinedAsync(txHash); - const etherScanLinkIfExists = sharedUtils.getEtherScanLinkIfExists( - txHash, - this.networkId, - EtherscanLinkSuffixes.Tx, - ); + const etherScanLinkIfExists = utils.getEtherScanLinkIfExists(txHash, this.networkId, EtherscanLinkSuffixes.Tx); this._dispatcher.showFlashMessage( React.createElement(AssetSendCompleted, { etherScanLinkIfExists, @@ -288,11 +284,7 @@ export class Blockchain { }, ); await this._showEtherScanLinkAndAwaitTransactionMinedAsync(txHash); - const etherScanLinkIfExists = sharedUtils.getEtherScanLinkIfExists( - txHash, - this.networkId, - EtherscanLinkSuffixes.Tx, - ); + const etherScanLinkIfExists = utils.getEtherScanLinkIfExists(txHash, this.networkId, EtherscanLinkSuffixes.Tx); this._dispatcher.showFlashMessage( React.createElement(AssetSendCompleted, { etherScanLinkIfExists, @@ -622,11 +614,7 @@ export class Blockchain { private async _showEtherScanLinkAndAwaitTransactionMinedAsync( txHash: string, ): Promise { - const etherScanLinkIfExists = sharedUtils.getEtherScanLinkIfExists( - txHash, - this.networkId, - EtherscanLinkSuffixes.Tx, - ); + const etherScanLinkIfExists = utils.getEtherScanLinkIfExists(txHash, this.networkId, EtherscanLinkSuffixes.Tx); this._dispatcher.showFlashMessage( React.createElement(TransactionSubmitted, { etherScanLinkIfExists, diff --git a/packages/website/ts/components/dialogs/blockchain_err_dialog.tsx b/packages/website/ts/components/dialogs/blockchain_err_dialog.tsx index 1c47903dbd..146cb56514 100644 --- a/packages/website/ts/components/dialogs/blockchain_err_dialog.tsx +++ b/packages/website/ts/components/dialogs/blockchain_err_dialog.tsx @@ -1,9 +1,9 @@ -import { colors, Networks } from '@0x/react-shared'; import Dialog from 'material-ui/Dialog'; import FlatButton from 'material-ui/FlatButton'; import * as React from 'react'; import { Blockchain } from 'ts/blockchain'; -import { BlockchainErrs } from 'ts/types'; +import { BlockchainErrs, Networks } from 'ts/types'; +import { colors } from 'ts/utils/colors'; import { constants } from 'ts/utils/constants'; interface BlockchainErrDialogProps { diff --git a/packages/website/ts/components/dialogs/eth_weth_conversion_dialog.tsx b/packages/website/ts/components/dialogs/eth_weth_conversion_dialog.tsx index 9c799e9bab..5326cb70ae 100644 --- a/packages/website/ts/components/dialogs/eth_weth_conversion_dialog.tsx +++ b/packages/website/ts/components/dialogs/eth_weth_conversion_dialog.tsx @@ -1,4 +1,3 @@ -import { colors } from '@0x/react-shared'; import { BigNumber } from '@0x/utils'; import * as _ from 'lodash'; import Dialog from 'material-ui/Dialog'; @@ -8,6 +7,7 @@ import { Blockchain } from 'ts/blockchain'; import { TokenAmountInput } from 'ts/components/inputs/token_amount_input'; import { EthAmountInput } from 'ts/containers/inputs/eth_amount_input'; import { Side, Token } from 'ts/types'; +import { colors } from 'ts/utils/colors'; interface EthWethConversionDialogProps { blockchain: Blockchain; diff --git a/packages/website/ts/components/dialogs/ledger_config_dialog.tsx b/packages/website/ts/components/dialogs/ledger_config_dialog.tsx index 83cc857cdc..5df5e750b0 100644 --- a/packages/website/ts/components/dialogs/ledger_config_dialog.tsx +++ b/packages/website/ts/components/dialogs/ledger_config_dialog.tsx @@ -1,4 +1,3 @@ -import { colors, constants as sharedConstants } from '@0x/react-shared'; import { BigNumber, logUtils } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; import * as _ from 'lodash'; @@ -13,6 +12,7 @@ import { NetworkDropDown } from 'ts/components/dropdowns/network_drop_down'; import { LifeCycleRaisedButton } from 'ts/components/ui/lifecycle_raised_button'; import { Dispatcher } from 'ts/redux/dispatcher'; import { ProviderType } from 'ts/types'; +import { colors } from 'ts/utils/colors'; import { configs } from 'ts/utils/configs'; import { constants } from 'ts/utils/constants'; import { utils } from 'ts/utils/utils'; @@ -85,7 +85,7 @@ export class LedgerConfigDialog extends React.Component
Follow these instructions before proceeding:
@@ -166,7 +166,7 @@ export class LedgerConfigDialog extends React.Componentb7a^>zAP9;n_TZ0g(u{5(CMC%>=(-a8 z1H4)xSzyD z*=l`b3yY1V;Wy@?`!0x%9V&O8#( zKPzv};z z%JdO~sdOB7b)2WQR;tp0>B9%pcV_y8!sOj?eOHD9^OTz25HJKL2`s8hhxY%iU!VUc zlgyPNU {_.map(this.props.tutorials, tutorialInfo => ( diff --git a/packages/website/ts/components/documentation/reference/badge.tsx b/packages/website/ts/components/documentation/reference/badge.tsx index e3d5be273b..d0bdb99d30 100644 --- a/packages/website/ts/components/documentation/reference/badge.tsx +++ b/packages/website/ts/components/documentation/reference/badge.tsx @@ -1,5 +1,5 @@ -import { Styles } from '@0x/react-shared'; import * as React from 'react'; +import { Styles } from 'ts/types'; const styles: Styles = { badge: { diff --git a/packages/website/ts/components/documentation/reference/comment.tsx b/packages/website/ts/components/documentation/reference/comment.tsx index 4d34f711e9..5c14bebfd3 100644 --- a/packages/website/ts/components/documentation/reference/comment.tsx +++ b/packages/website/ts/components/documentation/reference/comment.tsx @@ -1,6 +1,7 @@ -import { colors, MarkdownCodeBlock } from '@0x/react-shared'; import * as React from 'react'; import * as ReactMarkdown from 'react-markdown'; +import { MarkdownCodeBlock } from 'ts/components/documentation/shared/markdown_code_block'; +import { colors } from 'ts/utils/colors'; export interface CommentProps { comment: string; diff --git a/packages/website/ts/components/documentation/reference/doc_reference.tsx b/packages/website/ts/components/documentation/reference/doc_reference.tsx index 755584b6fb..52ab5599d4 100644 --- a/packages/website/ts/components/documentation/reference/doc_reference.tsx +++ b/packages/website/ts/components/documentation/reference/doc_reference.tsx @@ -1,14 +1,3 @@ -import { - colors, - constants as sharedConstants, - EtherscanLinkSuffixes, - HeaderSizes, - Link, - MarkdownSection, - Networks, - SectionHeader, - utils as sharedUtils, -} from '@0x/react-shared'; import { DocAgnosticFormat, Event, @@ -22,10 +11,15 @@ import { import * as _ from 'lodash'; import * as React from 'react'; import * as semver from 'semver'; +import { Link } from 'ts/components/documentation/shared/link'; +import { MarkdownSection } from 'ts/components/documentation/shared/markdown_section'; +import { SectionHeader } from 'ts/components/documentation/shared/section_header'; +import { AddressByContractName, EtherscanLinkSuffixes, HeaderSizes, Networks, SupportedDocJson } from 'ts/types'; +import { colors } from 'ts/utils/colors'; +import { constants } from 'ts/utils/constants'; +import { utils } from 'ts/utils/utils'; -import { AddressByContractName, SupportedDocJson } from '../../../types'; -import { constants } from '../../../utils/constants'; -import { DocsInfo } from '../../../utils/docs_info'; +import { DocsInfo } from 'ts/utils/docs_info'; import { Badge } from './badge'; import { Comment } from './comment'; @@ -55,7 +49,7 @@ export class DocReference extends React.Component -
+
{renderedSections}
); @@ -250,9 +244,9 @@ export class DocReference extends React.Component = (props: TypeProps): any => { : `${props.docsInfo.typeSectionName}-${typeName}`; typeName = ( - {sharedUtils.isUserOnMobile() || props.isInPopover || isExportedClassReference ? ( + {utils.isUserOnMobile() || props.isInPopover || isExportedClassReference ? ( {typeName} ) : ( diff --git a/packages/website/ts/components/documentation/reference/type_definition.tsx b/packages/website/ts/components/documentation/reference/type_definition.tsx index 1b59d383e0..3ea1f915e8 100644 --- a/packages/website/ts/components/documentation/reference/type_definition.tsx +++ b/packages/website/ts/components/documentation/reference/type_definition.tsx @@ -1,12 +1,13 @@ -import { AnchorTitle, colors, HeaderSizes } from '@0x/react-shared'; import { CustomType, CustomTypeChild, TypeDefinitionByName, TypeDocTypes } from '@0x/types'; import { errorUtils } from '@0x/utils'; import * as _ from 'lodash'; import * as React from 'react'; +import { AnchorTitle } from 'ts/components/documentation/shared/anchor_title'; -import { KindString, SupportedDocJson } from '../../../types'; -import { constants } from '../../../utils/constants'; -import { DocsInfo } from '../../../utils/docs_info'; +import { HeaderSizes, KindString, SupportedDocJson } from 'ts/types'; +import { colors } from 'ts/utils/colors'; +import { constants } from 'ts/utils/constants'; +import { DocsInfo } from 'ts/utils/docs_info'; import { Comment } from './comment'; import { CustomEnum } from './custom_enum'; diff --git a/packages/website/ts/components/documentation/shared/.DS_Store b/packages/website/ts/components/documentation/shared/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..426195b45847555c1eccdc366bc1604984714e7d GIT binary patch literal 6148 zcmeHKyG{c!5S$H>2uc$nBq%7Zq(b5kPEjbRDJVl8CqNvzC<%h{3jTx-;gk3Tm|dIb zqC7~21nf%dv3nJuw_oI5_k{f78iCH@c(9C5<< zAxC^-W|yNEY-OzV$yTtviS6whwy*hY#U{-P+wqFIjcv9)+;Gl4jH%OhyjK<8gB83} zu6JN>OF<3RYAvr7o_+2|HLJ_nWSo_1H`&1PUg5A!^THKy1^%@HJhRmr&46CI0PX`OT0ubx$He+4y5}K1lOe2;7`Gh7Rl^9YbUNI!3vp void; @@ -24,7 +24,7 @@ export class NetworkDropDown extends React.Component { - const networkName = sharedConstants.NETWORK_NAME_BY_ID[networkId]; + const networkName = constants.NETWORK_NAME_BY_ID[networkId]; const primaryText = (
diff --git a/packages/website/ts/components/eth_wrappers.tsx b/packages/website/ts/components/eth_wrappers.tsx index 34f06cc304..8517c6ae58 100644 --- a/packages/website/ts/components/eth_wrappers.tsx +++ b/packages/website/ts/components/eth_wrappers.tsx @@ -1,4 +1,3 @@ -import { colors, EtherscanLinkSuffixes, utils as sharedUtils } from '@0x/react-shared'; import { BigNumber } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; import * as _ from 'lodash'; @@ -11,6 +10,7 @@ import { Blockchain } from 'ts/blockchain'; import { EthWethConversionButton } from 'ts/components/eth_weth_conversion_button'; import { Dispatcher } from 'ts/redux/dispatcher'; import { + EtherscanLinkSuffixes, OutdatedWrappedEtherByNetworkId, Side, Token, @@ -18,6 +18,7 @@ import { TokenState, TokenStateByAddress, } from 'ts/types'; +import { colors } from 'ts/utils/colors'; import { configs } from 'ts/utils/configs'; import { constants } from 'ts/utils/constants'; import { utils } from 'ts/utils/utils'; @@ -91,7 +92,7 @@ export class EthWrappers extends React.Component; @@ -15,10 +18,10 @@ export interface NestedSidebarMenuProps { export const NestedSidebarMenu = (props: NestedSidebarMenuProps) => { const navigation = _.map(props.sectionNameToLinks, (links: ALink[], sectionName: string) => { - const finalSectionName = sharedUtils.convertCamelCaseToSpaces(sectionName); + const finalSectionName = utils.convertCamelCaseToSpaces(sectionName); const menuItems = _.map(links, (link, i) => { const menuItemTitle = props.shouldReformatMenuItemNames - ? _.capitalize(sharedUtils.convertDashesToSpaces(link.title)) + ? _.capitalize(utils.convertDashesToSpaces(link.title)) : link.title; const finalLink = { ...link, diff --git a/packages/website/ts/components/old_footer.tsx b/packages/website/ts/components/old_footer.tsx index e0c207293e..cf164431be 100644 --- a/packages/website/ts/components/old_footer.tsx +++ b/packages/website/ts/components/old_footer.tsx @@ -1,12 +1,14 @@ -import { ALink, colors, Link } from '@0x/react-shared'; +import { Link } from 'ts/components/documentation/shared/link'; + import { ObjectMap } from '@0x/types'; import * as _ from 'lodash'; import DropDownMenu from 'material-ui/DropDownMenu'; import MenuItem from 'material-ui/MenuItem'; import * as React from 'react'; +import { colors } from 'ts/style/colors'; import { Dispatcher } from 'ts/redux/dispatcher'; -import { Deco, Key, Language, WebsitePaths } from 'ts/types'; +import { ALink, Deco, Key, Language, WebsitePaths } from 'ts/types'; import { constants } from 'ts/utils/constants'; import { Translate } from 'ts/utils/translate'; diff --git a/packages/website/ts/components/onboarding/install_wallet_onboarding_step.tsx b/packages/website/ts/components/onboarding/install_wallet_onboarding_step.tsx index 173ba9a973..46aaee5886 100644 --- a/packages/website/ts/components/onboarding/install_wallet_onboarding_step.tsx +++ b/packages/website/ts/components/onboarding/install_wallet_onboarding_step.tsx @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import * as React from 'react'; import { Container } from 'ts/components/ui/container'; import { Image } from 'ts/components/ui/image'; diff --git a/packages/website/ts/components/onboarding/onboarding_card.tsx b/packages/website/ts/components/onboarding/onboarding_card.tsx index 56330c3e7c..658ad58de2 100644 --- a/packages/website/ts/components/onboarding/onboarding_card.tsx +++ b/packages/website/ts/components/onboarding/onboarding_card.tsx @@ -1,5 +1,5 @@ -import { colors } from '@0x/react-shared'; import * as React from 'react'; +import { colors } from 'ts/utils/colors'; import * as _ from 'lodash'; import { Button } from 'ts/components/ui/button'; diff --git a/packages/website/ts/components/onboarding/wrap_eth_onboarding_step.tsx b/packages/website/ts/components/onboarding/wrap_eth_onboarding_step.tsx index 37eef867bc..3ac7661cda 100644 --- a/packages/website/ts/components/onboarding/wrap_eth_onboarding_step.tsx +++ b/packages/website/ts/components/onboarding/wrap_eth_onboarding_step.tsx @@ -1,10 +1,10 @@ -import { colors } from '@0x/react-shared'; import { BigNumber } from '@0x/utils'; import * as React from 'react'; import { Balance } from 'ts/components/ui/balance'; import { Container } from 'ts/components/ui/container'; import { IconButton } from 'ts/components/ui/icon_button'; import { Text } from 'ts/components/ui/text'; +import { colors } from 'ts/utils/colors'; import { constants } from 'ts/utils/constants'; export interface WrapEthOnboardingStep1Props {} diff --git a/packages/website/ts/components/portal/back_button.tsx b/packages/website/ts/components/portal/back_button.tsx index 9b4451196d..9393bd95a9 100644 --- a/packages/website/ts/components/portal/back_button.tsx +++ b/packages/website/ts/components/portal/back_button.tsx @@ -1,7 +1,8 @@ -import { Link, Styles } from '@0x/react-shared'; +import { Link } from 'ts/components/documentation/shared/link'; import * as React from 'react'; import { Island } from 'ts/components/ui/island'; import { colors } from 'ts/style/colors'; +import { Styles } from 'ts/types'; export interface BackButtonProps { to: string; diff --git a/packages/website/ts/components/portal/drawer_menu.tsx b/packages/website/ts/components/portal/drawer_menu.tsx index f9a91370db..7a67aa147e 100644 --- a/packages/website/ts/components/portal/drawer_menu.tsx +++ b/packages/website/ts/components/portal/drawer_menu.tsx @@ -1,4 +1,3 @@ -import { Styles } from '@0x/react-shared'; import * as _ from 'lodash'; import * as React from 'react'; @@ -7,7 +6,7 @@ import { defaultMenuItemEntries, Menu } from 'ts/components/portal/menu'; import { Identicon } from 'ts/components/ui/identicon'; import { Text } from 'ts/components/ui/text'; import { colors } from 'ts/style/colors'; -import { ProviderType, WebsitePaths } from 'ts/types'; +import { ProviderType, Styles, WebsitePaths } from 'ts/types'; import { utils } from 'ts/utils/utils'; const IDENTICON_DIAMETER = 45; diff --git a/packages/website/ts/components/portal/menu.tsx b/packages/website/ts/components/portal/menu.tsx index fee347dd99..91ade92c9d 100644 --- a/packages/website/ts/components/portal/menu.tsx +++ b/packages/website/ts/components/portal/menu.tsx @@ -1,9 +1,8 @@ -import { Styles } from '@0x/react-shared'; import * as _ from 'lodash'; import * as React from 'react'; import { CustomMenuItem } from 'ts/components/ui/custom_menu_item'; import { colors } from 'ts/style/colors'; -import { WebsitePaths } from 'ts/types'; +import { Styles, WebsitePaths } from 'ts/types'; export interface MenuTheme { paddingLeft: number; diff --git a/packages/website/ts/components/portal/portal.tsx b/packages/website/ts/components/portal/portal.tsx index 2bce1bf683..5a72d9dba4 100644 --- a/packages/website/ts/components/portal/portal.tsx +++ b/packages/website/ts/components/portal/portal.tsx @@ -1,8 +1,9 @@ -import { colors, Link } from '@0x/react-shared'; +import { Link } from 'ts/components/documentation/shared/link'; import { BigNumber } from '@0x/utils'; import * as _ from 'lodash'; import * as React from 'react'; import { Redirect, Route, RouteComponentProps, Switch } from 'react-router-dom'; +import { colors } from 'ts/style/colors'; import { Blockchain } from 'ts/blockchain'; import { ANNOUNCEMENT_BANNER_HEIGHT, AnnouncementBanner } from 'ts/components/annoucement_banner'; diff --git a/packages/website/ts/components/portal/text_header.tsx b/packages/website/ts/components/portal/text_header.tsx index b6045b8323..8b225e3811 100644 --- a/packages/website/ts/components/portal/text_header.tsx +++ b/packages/website/ts/components/portal/text_header.tsx @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import * as React from 'react'; import { Text } from 'ts/components/ui/text'; diff --git a/packages/website/ts/components/relayer_index/relayer_grid_tile.tsx b/packages/website/ts/components/relayer_index/relayer_grid_tile.tsx index 7748a3ccb6..571525629e 100644 --- a/packages/website/ts/components/relayer_index/relayer_grid_tile.tsx +++ b/packages/website/ts/components/relayer_index/relayer_grid_tile.tsx @@ -1,4 +1,3 @@ -import { Styles } from '@0x/react-shared'; import * as _ from 'lodash'; import { GridTile as PlainGridTile } from 'material-ui/GridList'; import * as React from 'react'; @@ -11,7 +10,7 @@ import { Island } from 'ts/components/ui/island'; import { colors } from 'ts/style/colors'; import { media } from 'ts/style/media'; import { styled } from 'ts/style/theme'; -import { WebsiteBackendRelayerInfo } from 'ts/types'; +import { Styles, WebsiteBackendRelayerInfo } from 'ts/types'; import { utils } from 'ts/utils/utils'; export enum RelayerGridTileStyle { diff --git a/packages/website/ts/components/relayer_index/relayer_top_tokens.tsx b/packages/website/ts/components/relayer_index/relayer_top_tokens.tsx index 558d998556..726fec2f7c 100644 --- a/packages/website/ts/components/relayer_index/relayer_top_tokens.tsx +++ b/packages/website/ts/components/relayer_index/relayer_top_tokens.tsx @@ -1,10 +1,10 @@ -import { colors, EtherscanLinkSuffixes, utils as sharedUtils } from '@0x/react-shared'; import * as _ from 'lodash'; import * as React from 'react'; +import { colors } from 'ts/utils/colors'; import { Container } from 'ts/components/ui/container'; import { Text } from 'ts/components/ui/text'; -import { WebsiteBackendTokenInfo } from 'ts/types'; +import { EtherscanLinkSuffixes, WebsiteBackendTokenInfo } from 'ts/types'; import { analytics } from 'ts/utils/analytics'; import { utils } from 'ts/utils/utils'; @@ -56,6 +56,6 @@ class TokenLink extends React.Component { ); } private _tokenLinkFromToken(tokenInfo: WebsiteBackendTokenInfo, networkId: number): string { - return sharedUtils.getEtherScanLinkIfExists(tokenInfo.address, networkId, EtherscanLinkSuffixes.Address); + return utils.getEtherScanLinkIfExists(tokenInfo.address, networkId, EtherscanLinkSuffixes.Address); } } diff --git a/packages/website/ts/components/token_balances.tsx b/packages/website/ts/components/token_balances.tsx index 37272e4fe2..576ebf1ae9 100644 --- a/packages/website/ts/components/token_balances.tsx +++ b/packages/website/ts/components/token_balances.tsx @@ -1,10 +1,3 @@ -import { - constants as sharedConstants, - EtherscanLinkSuffixes, - Networks, - Styles, - utils as sharedUtils, -} from '@0x/react-shared'; import { BigNumber, errorUtils, fetchAsync, logUtils } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; import * as _ from 'lodash'; @@ -31,7 +24,10 @@ import { BalanceErrs, BlockchainCallErrs, BlockchainErrs, + EtherscanLinkSuffixes, + Networks, ScreenWidths, + Styles, Token, TokenByAddress, TokenStateByAddress, @@ -115,7 +111,7 @@ export class TokenBalances extends React.Component diff --git a/packages/website/ts/components/top_bar/provider_display.tsx b/packages/website/ts/components/top_bar/provider_display.tsx index 02b853a3f5..d8394baba2 100644 --- a/packages/website/ts/components/top_bar/provider_display.tsx +++ b/packages/website/ts/components/top_bar/provider_display.tsx @@ -1,4 +1,3 @@ -import { Styles } from '@0x/react-shared'; import * as _ from 'lodash'; import CircularProgress from 'material-ui/CircularProgress'; import ActionAccountBalanceWallet from 'material-ui/svg-icons/action/account-balance-wallet'; @@ -20,7 +19,7 @@ import { import { Text } from 'ts/components/ui/text'; import { Dispatcher } from 'ts/redux/dispatcher'; import { colors } from 'ts/style/colors'; -import { AccountState, ProviderType } from 'ts/types'; +import { AccountState, ProviderType, Styles } from 'ts/types'; import { utils } from 'ts/utils/utils'; const ROOT_HEIGHT = 24; diff --git a/packages/website/ts/components/top_bar/top_bar.tsx b/packages/website/ts/components/top_bar/top_bar.tsx index d88f6e99b6..cfb2280b42 100644 --- a/packages/website/ts/components/top_bar/top_bar.tsx +++ b/packages/website/ts/components/top_bar/top_bar.tsx @@ -1,4 +1,5 @@ -import { ALink, colors, Link, Styles } from '@0x/react-shared'; +import { Link } from 'ts/components/documentation/shared/link'; + import { ObjectMap } from '@0x/types'; import * as _ from 'lodash'; import Drawer from 'material-ui/Drawer'; @@ -11,7 +12,8 @@ import { ProviderDisplay } from 'ts/components/top_bar/provider_display'; import { TopBarMenuItem } from 'ts/components/top_bar/top_bar_menu_item'; import { Container } from 'ts/components/ui/container'; import { Dispatcher } from 'ts/redux/dispatcher'; -import { Deco, Key, ProviderType, WebsitePaths } from 'ts/types'; +import { ALink, Deco, Key, ProviderType, Styles, WebsitePaths } from 'ts/types'; +import { colors } from 'ts/utils/colors'; import { constants } from 'ts/utils/constants'; import { Translate } from 'ts/utils/translate'; diff --git a/packages/website/ts/components/top_bar/top_bar_menu_item.tsx b/packages/website/ts/components/top_bar/top_bar_menu_item.tsx index 568d8dba6a..729b52fc97 100644 --- a/packages/website/ts/components/top_bar/top_bar_menu_item.tsx +++ b/packages/website/ts/components/top_bar/top_bar_menu_item.tsx @@ -1,6 +1,7 @@ -import { colors, Link } from '@0x/react-shared'; +import { Link } from 'ts/components/documentation/shared/link'; import * as _ from 'lodash'; import * as React from 'react'; +import { colors } from 'ts/style/colors'; import { CallToAction } from 'ts/components/ui/button'; diff --git a/packages/website/ts/components/track_token_confirmation.tsx b/packages/website/ts/components/track_token_confirmation.tsx index e701686b0a..4108d7e35c 100644 --- a/packages/website/ts/components/track_token_confirmation.tsx +++ b/packages/website/ts/components/track_token_confirmation.tsx @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import * as _ from 'lodash'; import * as React from 'react'; import { Party } from 'ts/components/ui/party'; diff --git a/packages/website/ts/components/trade_history/trade_history_item.tsx b/packages/website/ts/components/trade_history/trade_history_item.tsx index 6798d6716c..224e6021d6 100644 --- a/packages/website/ts/components/trade_history/trade_history_item.tsx +++ b/packages/website/ts/components/trade_history/trade_history_item.tsx @@ -1,4 +1,3 @@ -import { colors, EtherscanLinkSuffixes } from '@0x/react-shared'; import { BigNumber } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; import * as _ from 'lodash'; @@ -8,7 +7,8 @@ import * as React from 'react'; import * as ReactTooltip from 'react-tooltip'; import { EtherScanIcon } from 'ts/components/ui/etherscan_icon'; import { Party } from 'ts/components/ui/party'; -import { Fill, Token, TokenByAddress } from 'ts/types'; +import { EtherscanLinkSuffixes, Fill, Token, TokenByAddress } from 'ts/types'; +import { colors } from 'ts/utils/colors'; import { configs } from 'ts/utils/configs'; const IDENTICON_DIAMETER = 40; diff --git a/packages/website/ts/components/ui/alert.tsx b/packages/website/ts/components/ui/alert.tsx index c7a5b90309..4efc2c7697 100644 --- a/packages/website/ts/components/ui/alert.tsx +++ b/packages/website/ts/components/ui/alert.tsx @@ -1,6 +1,6 @@ -import { colors } from '@0x/react-shared'; import * as React from 'react'; import { AlertTypes } from 'ts/types'; +import { colors } from 'ts/utils/colors'; interface AlertProps { type: AlertTypes; diff --git a/packages/website/ts/components/ui/allowance_state_view.tsx b/packages/website/ts/components/ui/allowance_state_view.tsx index fc754421ab..d2882dfa4a 100644 --- a/packages/website/ts/components/ui/allowance_state_view.tsx +++ b/packages/website/ts/components/ui/allowance_state_view.tsx @@ -1,7 +1,7 @@ -import { colors } from '@0x/react-shared'; import * as React from 'react'; import { Container } from 'ts/components/ui/container'; import { Spinner } from 'ts/components/ui/spinner'; +import { colors } from 'ts/utils/colors'; export enum AllowanceState { Locked, diff --git a/packages/website/ts/components/ui/button.tsx b/packages/website/ts/components/ui/button.tsx index 92f9278432..3ff8397ff7 100644 --- a/packages/website/ts/components/ui/button.tsx +++ b/packages/website/ts/components/ui/button.tsx @@ -1,7 +1,7 @@ -import { colors } from '@0x/react-shared'; import { darken, saturate } from 'polished'; import * as React from 'react'; import { styled } from 'ts/style/theme'; +import { colors } from 'ts/utils/colors'; export interface ButtonProps { className?: string; diff --git a/packages/website/ts/components/ui/check_mark.tsx b/packages/website/ts/components/ui/check_mark.tsx index 86e427c8b2..9f7056b092 100644 --- a/packages/website/ts/components/ui/check_mark.tsx +++ b/packages/website/ts/components/ui/check_mark.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; export interface CheckMarkProps { color?: string; diff --git a/packages/website/ts/components/ui/copy_icon.tsx b/packages/website/ts/components/ui/copy_icon.tsx index 403cd4607f..c24b483ed4 100644 --- a/packages/website/ts/components/ui/copy_icon.tsx +++ b/packages/website/ts/components/ui/copy_icon.tsx @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import * as React from 'react'; import * as CopyToClipboard from 'react-copy-to-clipboard'; import * as ReactDOM from 'react-dom'; diff --git a/packages/website/ts/components/ui/custom_menu_item.tsx b/packages/website/ts/components/ui/custom_menu_item.tsx index 87ce32126e..9c9698b801 100644 --- a/packages/website/ts/components/ui/custom_menu_item.tsx +++ b/packages/website/ts/components/ui/custom_menu_item.tsx @@ -1,4 +1,4 @@ -import { Link } from '@0x/react-shared'; +import { Link } from 'ts/components/documentation/shared/link'; import * as _ from 'lodash'; import * as React from 'react'; diff --git a/packages/website/ts/components/ui/ethereum_address.tsx b/packages/website/ts/components/ui/ethereum_address.tsx index 12f8636eba..f6d9d310e9 100644 --- a/packages/website/ts/components/ui/ethereum_address.tsx +++ b/packages/website/ts/components/ui/ethereum_address.tsx @@ -1,7 +1,7 @@ -import { EtherscanLinkSuffixes } from '@0x/react-shared'; import * as React from 'react'; import ReactTooltip from 'react-tooltip'; import { EtherScanIcon } from 'ts/components/ui/etherscan_icon'; +import { EtherscanLinkSuffixes } from 'ts/types'; import { utils } from 'ts/utils/utils'; interface EthereumAddressProps { diff --git a/packages/website/ts/components/ui/etherscan_icon.tsx b/packages/website/ts/components/ui/etherscan_icon.tsx index c15fd085eb..11ef98991a 100644 --- a/packages/website/ts/components/ui/etherscan_icon.tsx +++ b/packages/website/ts/components/ui/etherscan_icon.tsx @@ -1,7 +1,9 @@ -import { colors, EtherscanLinkSuffixes, utils as sharedUtils } from '@0x/react-shared'; import * as _ from 'lodash'; import * as React from 'react'; import ReactTooltip from 'react-tooltip'; +import { EtherscanLinkSuffixes } from 'ts/types'; +import { colors } from 'ts/utils/colors'; +import { utils } from 'ts/utils/utils'; interface EtherScanIconProps { addressOrTxHash: string; @@ -10,7 +12,7 @@ interface EtherScanIconProps { } export const EtherScanIcon = (props: EtherScanIconProps) => { - const etherscanLinkIfExists = sharedUtils.getEtherScanLinkIfExists( + const etherscanLinkIfExists = utils.getEtherScanLinkIfExists( props.addressOrTxHash, props.networkId, props.etherscanLinkSuffixes, diff --git a/packages/website/ts/components/ui/fake_text_field.tsx b/packages/website/ts/components/ui/fake_text_field.tsx index 7c3a482a4c..d8c2ebb2fb 100644 --- a/packages/website/ts/components/ui/fake_text_field.tsx +++ b/packages/website/ts/components/ui/fake_text_field.tsx @@ -1,6 +1,6 @@ -import { Styles } from '@0x/react-shared'; import * as React from 'react'; import { InputLabel } from 'ts/components/ui/input_label'; +import { Styles } from 'ts/types'; const styles: Styles = { hr: { diff --git a/packages/website/ts/components/ui/icon_button.tsx b/packages/website/ts/components/ui/icon_button.tsx index 9f469ec69d..67af7b62cc 100644 --- a/packages/website/ts/components/ui/icon_button.tsx +++ b/packages/website/ts/components/ui/icon_button.tsx @@ -1,6 +1,7 @@ -import { colors, Styles } from '@0x/react-shared'; import * as _ from 'lodash'; import * as React from 'react'; +import { Styles } from 'ts/types'; +import { colors } from 'ts/utils/colors'; export interface IconButtonProps { iconName: string; diff --git a/packages/website/ts/components/ui/input_label.tsx b/packages/website/ts/components/ui/input_label.tsx index e7afb5a170..5c7651d54a 100644 --- a/packages/website/ts/components/ui/input_label.tsx +++ b/packages/website/ts/components/ui/input_label.tsx @@ -1,5 +1,6 @@ -import { colors, Styles } from '@0x/react-shared'; import * as React from 'react'; +import { Styles } from 'ts/types'; +import { colors } from 'ts/utils/colors'; export interface InputLabelProps { text: string | Element | React.ReactNode; diff --git a/packages/website/ts/components/ui/lifecycle_raised_button.tsx b/packages/website/ts/components/ui/lifecycle_raised_button.tsx index f004dd47f6..08c2742059 100644 --- a/packages/website/ts/components/ui/lifecycle_raised_button.tsx +++ b/packages/website/ts/components/ui/lifecycle_raised_button.tsx @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import { errorUtils } from '@0x/utils'; import RaisedButton from 'material-ui/RaisedButton'; import * as React from 'react'; diff --git a/packages/website/ts/components/ui/multi_select.tsx b/packages/website/ts/components/ui/multi_select.tsx index 40b1c9cee8..70b5431f58 100644 --- a/packages/website/ts/components/ui/multi_select.tsx +++ b/packages/website/ts/components/ui/multi_select.tsx @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import * as _ from 'lodash'; import * as React from 'react'; diff --git a/packages/website/ts/components/ui/party.tsx b/packages/website/ts/components/ui/party.tsx index 4090634178..fe85aef0c5 100644 --- a/packages/website/ts/components/ui/party.tsx +++ b/packages/website/ts/components/ui/party.tsx @@ -1,9 +1,11 @@ -import { colors, EtherscanLinkSuffixes, utils as sharedUtils } from '@0x/react-shared'; import * as _ from 'lodash'; import * as React from 'react'; import ReactTooltip from 'react-tooltip'; import { EthereumAddress } from 'ts/components/ui/ethereum_address'; import { Identicon } from 'ts/components/ui/identicon'; +import { EtherscanLinkSuffixes } from 'ts/types'; +import { colors } from 'ts/utils/colors'; +import { utils } from 'ts/utils/utils'; const IMAGE_DIMENSION = 100; const IDENTICON_DIAMETER = 95; @@ -41,7 +43,7 @@ export class Party extends React.Component { width: IMAGE_DIMENSION, height: IMAGE_DIMENSION, }; - const etherscanLinkIfExists = sharedUtils.getEtherScanLinkIfExists( + const etherscanLinkIfExists = utils.getEtherScanLinkIfExists( this.props.address, this.props.networkId, EtherscanLinkSuffixes.Address, diff --git a/packages/website/ts/components/ui/pointer.tsx b/packages/website/ts/components/ui/pointer.tsx index c97b1e7000..013c29fefe 100644 --- a/packages/website/ts/components/ui/pointer.tsx +++ b/packages/website/ts/components/ui/pointer.tsx @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import * as React from 'react'; import { styled } from 'ts/style/theme'; diff --git a/packages/website/ts/components/ui/required_label.tsx b/packages/website/ts/components/ui/required_label.tsx index 5080462fa9..cc46b32697 100644 --- a/packages/website/ts/components/ui/required_label.tsx +++ b/packages/website/ts/components/ui/required_label.tsx @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import * as React from 'react'; export interface RequiredLabelProps { diff --git a/packages/website/ts/components/ui/simple_menu.tsx b/packages/website/ts/components/ui/simple_menu.tsx index 45ee752e33..e44af6db1b 100644 --- a/packages/website/ts/components/ui/simple_menu.tsx +++ b/packages/website/ts/components/ui/simple_menu.tsx @@ -1,4 +1,4 @@ -import { Link } from '@0x/react-shared'; +import { Link } from 'ts/components/documentation/shared/link'; import * as _ from 'lodash'; import * as React from 'react'; import * as CopyToClipboard from 'react-copy-to-clipboard'; diff --git a/packages/website/ts/components/ui/spinner.tsx b/packages/website/ts/components/ui/spinner.tsx index dc73e74e32..a18620d6e9 100644 --- a/packages/website/ts/components/ui/spinner.tsx +++ b/packages/website/ts/components/ui/spinner.tsx @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import * as React from 'react'; import { styled } from 'ts/style/theme'; diff --git a/packages/website/ts/components/ui/swap_icon.tsx b/packages/website/ts/components/ui/swap_icon.tsx index 406da8fe1d..87b91217b8 100644 --- a/packages/website/ts/components/ui/swap_icon.tsx +++ b/packages/website/ts/components/ui/swap_icon.tsx @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import * as React from 'react'; interface SwapIconProps { diff --git a/packages/website/ts/components/ui/text.tsx b/packages/website/ts/components/ui/text.tsx index 046442ee59..d8029e933e 100644 --- a/packages/website/ts/components/ui/text.tsx +++ b/packages/website/ts/components/ui/text.tsx @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import { darken } from 'polished'; import * as React from 'react'; import { styled } from 'ts/style/theme'; diff --git a/packages/website/ts/components/wallet/wallet.tsx b/packages/website/ts/components/wallet/wallet.tsx index ac07d6ee4b..c6ef9eb628 100644 --- a/packages/website/ts/components/wallet/wallet.tsx +++ b/packages/website/ts/components/wallet/wallet.tsx @@ -1,6 +1,6 @@ -import { EtherscanLinkSuffixes, utils as sharedUtils } from '@0x/react-shared'; import { BigNumber, errorUtils } from '@0x/utils'; import * as _ from 'lodash'; +import { utils } from 'ts/utils/utils'; import ActionAccountBalanceWallet from 'material-ui/svg-icons/action/account-balance-wallet'; import * as React from 'react'; @@ -35,6 +35,7 @@ import { colors } from 'ts/style/colors'; import { AccountState, BlockchainErrs, + EtherscanLinkSuffixes, ProviderType, ScreenWidths, Side, @@ -45,7 +46,6 @@ import { } from 'ts/types'; import { analytics } from 'ts/utils/analytics'; import { constants } from 'ts/utils/constants'; -import { utils } from 'ts/utils/utils'; export interface WalletProps { userAddress: string; @@ -324,7 +324,7 @@ export class Wallet extends React.Component { if (tokenState === undefined) { return null; } - const tokenLink = sharedUtils.getEtherScanLinkIfExists( + const tokenLink = utils.getEtherScanLinkIfExists( token.address, this.props.networkId, EtherscanLinkSuffixes.Address, diff --git a/packages/website/ts/components/wallet/wrap_ether_item.tsx b/packages/website/ts/components/wallet/wrap_ether_item.tsx index 7de3afbf81..b87d59659f 100644 --- a/packages/website/ts/components/wallet/wrap_ether_item.tsx +++ b/packages/website/ts/components/wallet/wrap_ether_item.tsx @@ -1,4 +1,3 @@ -import { Styles } from '@0x/react-shared'; import { BigNumber, logUtils } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; import * as _ from 'lodash'; @@ -11,7 +10,7 @@ import { Container } from 'ts/components/ui/container'; import { EthAmountInput } from 'ts/containers/inputs/eth_amount_input'; import { Dispatcher } from 'ts/redux/dispatcher'; import { colors } from 'ts/style/colors'; -import { BlockchainCallErrs, Side, Token } from 'ts/types'; +import { BlockchainCallErrs, Side, Styles, Token } from 'ts/types'; import { analytics } from 'ts/utils/analytics'; import { constants } from 'ts/utils/constants'; import { errorReporter } from 'ts/utils/error_reporter'; diff --git a/packages/website/ts/containers/smart_contracts_documentation.ts b/packages/website/ts/containers/smart_contracts_documentation.ts index f0413de3e6..b0641bc6be 100644 --- a/packages/website/ts/containers/smart_contracts_documentation.ts +++ b/packages/website/ts/containers/smart_contracts_documentation.ts @@ -1,8 +1,7 @@ -import { Networks } from '@0x/react-shared'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; -import { DocPackages, SmartContractDocSections as Sections } from 'ts/types'; +import { DocPackages, Networks, SmartContractDocSections as Sections } from 'ts/types'; import { DocsInfoConfig, SupportedDocJson } from '../types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; diff --git a/packages/website/ts/pages/documentation/developers_page.tsx b/packages/website/ts/pages/documentation/developers_page.tsx index 97c713fbfb..b13c13004c 100644 --- a/packages/website/ts/pages/documentation/developers_page.tsx +++ b/packages/website/ts/pages/documentation/developers_page.tsx @@ -1,4 +1,3 @@ -import { colors, constants as sharedConstants } from '@0x/react-shared'; import * as _ from 'lodash'; import * as React from 'react'; import { Helmet } from 'react-helmet'; @@ -10,6 +9,8 @@ import { Dispatcher } from 'ts/redux/dispatcher'; import { media } from 'ts/style/media'; import { styled } from 'ts/style/theme'; import { ScreenWidths } from 'ts/types'; +import { colors } from 'ts/utils/colors'; +import { constants } from 'ts/utils/constants'; import { documentConstants } from 'ts/utils/document_meta_constants'; import { Translate } from 'ts/utils/translate'; import { utils } from 'ts/utils/utils'; @@ -145,7 +146,7 @@ export class DevelopersPage extends React.Component - + {this.props.mainContent} diff --git a/packages/website/ts/pages/documentation/docs_home.tsx b/packages/website/ts/pages/documentation/docs_home.tsx index e240936017..3a1afb78e6 100644 --- a/packages/website/ts/pages/documentation/docs_home.tsx +++ b/packages/website/ts/pages/documentation/docs_home.tsx @@ -1,4 +1,5 @@ -import { ALink, colors, Link } from '@0x/react-shared'; +import { Link } from 'ts/components/documentation/shared/link'; + import { ObjectMap } from '@0x/types'; import * as _ from 'lodash'; import * as React from 'react'; @@ -7,7 +8,8 @@ import { NestedSidebarMenu } from 'ts/components/nested_sidebar_menu'; import { Button } from 'ts/components/ui/button'; import { DevelopersPage } from 'ts/pages/documentation/developers_page'; import { Dispatcher } from 'ts/redux/dispatcher'; -import { Categories, Deco, Key, Package, ScreenWidths, TutorialInfo, WebsitePaths } from 'ts/types'; +import { ALink, Categories, Deco, Key, Package, ScreenWidths, TutorialInfo, WebsitePaths } from 'ts/types'; +import { colors } from 'ts/utils/colors'; import { constants } from 'ts/utils/constants'; import { Translate } from 'ts/utils/translate'; diff --git a/packages/website/ts/pages/faq/faq.tsx b/packages/website/ts/pages/faq/faq.tsx index b86a1ca322..b2ada21030 100644 --- a/packages/website/ts/pages/faq/faq.tsx +++ b/packages/website/ts/pages/faq/faq.tsx @@ -1,4 +1,3 @@ -import { colors, Styles } from '@0x/react-shared'; import * as _ from 'lodash'; import * as React from 'react'; import { DocumentTitle } from 'ts/components/document_title'; @@ -6,7 +5,8 @@ import { Footer } from 'ts/components/old_footer'; import { TopBar } from 'ts/components/top_bar/top_bar'; import { Question } from 'ts/pages/faq/question'; import { Dispatcher } from 'ts/redux/dispatcher'; -import { FAQQuestion, FAQSection, WebsitePaths } from 'ts/types'; +import { FAQQuestion, FAQSection, Styles, WebsitePaths } from 'ts/types'; +import { colors } from 'ts/utils/colors'; import { configs } from 'ts/utils/configs'; import { constants } from 'ts/utils/constants'; import { documentConstants } from 'ts/utils/document_meta_constants'; diff --git a/packages/website/ts/pages/faq/question.tsx b/packages/website/ts/pages/faq/question.tsx index 413ffb6cef..11aa38817f 100644 --- a/packages/website/ts/pages/faq/question.tsx +++ b/packages/website/ts/pages/faq/question.tsx @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import { Card, CardHeader, CardText } from 'material-ui/Card'; import * as React from 'react'; diff --git a/packages/website/ts/pages/instant.tsx b/packages/website/ts/pages/instant.tsx index 3e3ef1248e..be0dd6c0f8 100644 --- a/packages/website/ts/pages/instant.tsx +++ b/packages/website/ts/pages/instant.tsx @@ -1,4 +1,3 @@ -import { utils as sharedUtils } from '@0x/react-shared'; import * as _ from 'lodash'; import * as React from 'react'; import styled, { keyframes } from 'styled-components'; @@ -25,8 +24,8 @@ export const getStartedClick = () => { if (window.innerWidth < CONFIGURATOR_MIN_WIDTH_PX) { utils.openUrl(`${WebsitePaths.Wiki}#Get-Started-With-Instant`); } else { - sharedUtils.setUrlHash('configurator'); - sharedUtils.scrollToHash('configurator', ''); + utils.setUrlHash('configurator'); + utils.scrollToHash('configurator', ''); } }; diff --git a/packages/website/ts/pages/wiki/wiki.tsx b/packages/website/ts/pages/wiki/wiki.tsx index e83718e697..4393815e68 100644 --- a/packages/website/ts/pages/wiki/wiki.tsx +++ b/packages/website/ts/pages/wiki/wiki.tsx @@ -1,24 +1,18 @@ -import { - ALink, - colors, - constants as sharedConstants, - HeaderSizes, - Link, - MarkdownSection, - utils as sharedUtils, -} from '@0x/react-shared'; import { ObjectMap } from '@0x/types'; import * as _ from 'lodash'; import CircularProgress from 'material-ui/CircularProgress'; import * as React from 'react'; +import { Link } from 'ts/components/documentation/shared/link'; +import { MarkdownSection } from 'ts/components/documentation/shared/markdown_section'; import { SidebarHeader } from 'ts/components/documentation/sidebar_header'; import { NestedSidebarMenu } from 'ts/components/nested_sidebar_menu'; import { Button } from 'ts/components/ui/button'; import { Container } from 'ts/components/ui/container'; import { DevelopersPage } from 'ts/pages/documentation/developers_page'; import { Dispatcher } from 'ts/redux/dispatcher'; -import { Article, ArticlesBySection, Deco, Key, ScreenWidths } from 'ts/types'; +import { ALink, Article, ArticlesBySection, Deco, HeaderSizes, Key, ScreenWidths } from 'ts/types'; import { backendClient } from 'ts/utils/backend_client'; +import { colors } from 'ts/utils/colors'; import { constants } from 'ts/utils/constants'; import { Translate } from 'ts/utils/translate'; import { utils } from 'ts/utils/utils'; @@ -165,7 +159,7 @@ export class Wiki extends React.Component { async () => { await utils.onPageLoadPromise; const hash = this.props.location.hash.slice(1); - sharedUtils.scrollToHash(hash, sharedConstants.SCROLL_CONTAINER_ID); + utils.scrollToHash(hash, constants.SCROLL_CONTAINER_ID); }, ); } @@ -188,7 +182,7 @@ export class Wiki extends React.Component { const articles = articlesBySection[sectionName]; const articleLinks = _.map(articles, article => { return { - to: sharedUtils.getIdFromName(article.title), + to: utils.getIdFromName(article.title), title: article.title, }; }); diff --git a/packages/website/ts/style/colors.ts b/packages/website/ts/style/colors.ts index 356d72f7e6..29cd77a588 100644 --- a/packages/website/ts/style/colors.ts +++ b/packages/website/ts/style/colors.ts @@ -1,4 +1,4 @@ -import { colors as sharedColors } from '@0x/react-shared'; +import { colors as sharedColors } from 'ts/utils/colors'; const appColors = { walletBoxShadow: 'rgba(0, 0, 0, 0.05)', diff --git a/packages/website/ts/types.ts b/packages/website/ts/types.ts index 64d2e94c49..ee23fd0049 100644 --- a/packages/website/ts/types.ts +++ b/packages/website/ts/types.ts @@ -1,4 +1,3 @@ -import { ALink } from '@0x/react-shared'; import { ObjectMap, SignedOrder } from '@0x/types'; import { BigNumber } from '@0x/utils'; import { Provider } from 'ethereum-types'; @@ -843,4 +842,37 @@ export enum AbiTypes { Function = 'function', Event = 'event', } +export interface Styles { + [name: string]: React.CSSProperties; +} + +export enum HeaderSizes { + H1 = 'h1', + H2 = 'h2', + H3 = 'h3', +} + +export enum EtherscanLinkSuffixes { + Address = 'address', + Tx = 'tx', +} + +export enum Networks { + Mainnet = 'Mainnet', + Kovan = 'Kovan', + Ropsten = 'Ropsten', + Rinkeby = 'Rinkeby', +} + +export enum LinkType { + External = 'EXTERNAL', + ReactScroll = 'REACT_SCROLL', + ReactRoute = 'REACT_ROUTE', +} + +export interface ALink { + title: string; + to: string; + shouldOpenInNewTab?: boolean; +} // tslint:disable:max-file-line-count diff --git a/packages/react-shared/src/utils/colors.ts b/packages/website/ts/utils/colors.ts similarity index 100% rename from packages/react-shared/src/utils/colors.ts rename to packages/website/ts/utils/colors.ts diff --git a/packages/website/ts/utils/constants.ts b/packages/website/ts/utils/constants.ts index 558f589846..61cad96db7 100644 --- a/packages/website/ts/utils/constants.ts +++ b/packages/website/ts/utils/constants.ts @@ -1,6 +1,5 @@ -import { ALink } from '@0x/react-shared'; import { BigNumber } from '@0x/utils'; -import { Key, WebsitePaths } from 'ts/types'; +import { ALink, Key, Networks, WebsitePaths } from 'ts/types'; import { SupportedDocJson } from '../types'; @@ -140,4 +139,19 @@ export const constants = { [SupportedDocJson.SolDoc]: 'solidity', [SupportedDocJson.TypeDoc]: 'typescript', } as { [supportedDocType: string]: string }, + DOCS_SCROLL_DURATION_MS: 0, + SCROLL_CONTAINER_ID: 'scroll_container', + SCROLL_TOP_ID: 'pageScrollTop', + NETWORK_NAME_BY_ID: { + 1: Networks.Mainnet, + 3: Networks.Ropsten, + 4: Networks.Rinkeby, + 42: Networks.Kovan, + } as { [symbol: number]: string }, + NETWORK_ID_BY_NAME: { + [Networks.Mainnet]: 1, + [Networks.Ropsten]: 3, + [Networks.Rinkeby]: 4, + [Networks.Kovan]: 42, + } as { [networkName: string]: number }, }; diff --git a/packages/website/ts/utils/docs_info.ts b/packages/website/ts/utils/docs_info.ts index 1317129a6c..b270099980 100644 --- a/packages/website/ts/utils/docs_info.ts +++ b/packages/website/ts/utils/docs_info.ts @@ -1,6 +1,7 @@ -import { ALink, utils as sharedUtils } from '@0x/react-shared'; import { DocAgnosticFormat, ObjectMap, TypeDefinitionByName } from '@0x/types'; import * as _ from 'lodash'; +import { ALink } from 'ts/types'; +import { utils } from 'ts/utils/utils'; import { ContractsByVersionByNetworkId, @@ -50,7 +51,7 @@ export class DocsInfo { _.each(this.markdownMenu, (linkTitles, sectionName) => { sectionNameToLinks[sectionName] = []; _.each(linkTitles, linkTitle => { - const to = sharedUtils.getIdFromName(linkTitle); + const to = utils.getIdFromName(linkTitle); const links = sectionNameToLinks[sectionName]; links.push({ title: linkTitle, diff --git a/packages/website/ts/utils/mui_theme.ts b/packages/website/ts/utils/mui_theme.ts index 3f32254de9..b5a75acb43 100644 --- a/packages/website/ts/utils/mui_theme.ts +++ b/packages/website/ts/utils/mui_theme.ts @@ -1,4 +1,4 @@ -import { colors } from '@0x/react-shared'; +import { colors } from 'ts/utils/colors'; import { getMuiTheme } from 'material-ui/styles'; export const muiTheme = getMuiTheme({ diff --git a/packages/website/ts/utils/utils.ts b/packages/website/ts/utils/utils.ts index 5944e34c6b..46fde32cf6 100644 --- a/packages/website/ts/utils/utils.ts +++ b/packages/website/ts/utils/utils.ts @@ -1,14 +1,16 @@ import { ContractWrappersError } from '@0x/contract-wrappers'; import { assetDataUtils, TypedDataError } from '@0x/order-utils'; -import { constants as sharedConstants, Networks } from '@0x/react-shared'; import { ExchangeContractErrs } from '@0x/types'; import { BigNumber } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; import * as bowser from 'bowser'; +import * as changeCase from 'change-case'; import deepEqual from 'deep-equal'; +import isMobile from 'is-mobile'; import * as _ from 'lodash'; import * as moment from 'moment'; import * as numeral from 'numeral'; +import { scroller } from 'react-scroll'; import { ZeroExProvider } from 'ethereum-types'; import { @@ -16,6 +18,8 @@ import { BlockchainCallErrs, BrowserType, Environments, + EtherscanLinkSuffixes, + Networks, OperatingSystemType, PortalOrder, Providers, @@ -277,9 +281,9 @@ export const utils = { isTestNetwork(networkId: number): boolean { const isTestNetwork = _.includes( [ - sharedConstants.NETWORK_ID_BY_NAME[Networks.Kovan], - sharedConstants.NETWORK_ID_BY_NAME[Networks.Rinkeby], - sharedConstants.NETWORK_ID_BY_NAME[Networks.Ropsten], + constants.NETWORK_ID_BY_NAME[Networks.Kovan], + constants.NETWORK_ID_BY_NAME[Networks.Rinkeby], + constants.NETWORK_ID_BY_NAME[Networks.Ropsten], ], networkId, ); @@ -483,4 +487,45 @@ export const utils = { const result = `/images/token_icons/${symbol}.png`; return result; }, + setUrlHash(anchorId: string): void { + window.location.hash = anchorId; + }, + scrollToHash(hash: string, containerId: string): void { + let finalHash = hash; + if (_.isEmpty(hash)) { + finalHash = constants.SCROLL_TOP_ID; // scroll to the top + } + + scroller.scrollTo(finalHash, { + duration: 0, + offset: 0, + containerId, + }); + }, + isUserOnMobile(): boolean { + const isUserOnMobile = isMobile(); + return isUserOnMobile; + }, + getIdFromName(name: string): string { + const id = name.replace(/ /g, '-'); + return id; + }, + convertDashesToSpaces(text: string): string { + return text.replace(/-/g, ' '); + }, + convertCamelCaseToSpaces(text: string): string { + return changeCase.snake(text).replace(/_/g, ' '); + }, + getEtherScanLinkIfExists( + addressOrTxHash: string, + networkId: number, + suffix: EtherscanLinkSuffixes, + ): string | undefined { + const networkName = constants.NETWORK_NAME_BY_ID[networkId]; + if (networkName === undefined) { + return undefined; + } + const etherScanPrefix = networkName === Networks.Mainnet ? '' : `${networkName.toLowerCase()}.`; + return `https://${etherScanPrefix}etherscan.io/${suffix}/${addressOrTxHash}`; + }, }; diff --git a/yarn.lock b/yarn.lock index 68d9fdb908..31c8adece7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -863,12 +863,6 @@ core-js "^2.6.5" regenerator-runtime "^0.13.2" -"@babel/runtime@7.0.0", "@babel/runtime@^7.0.0": - version "7.0.0" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0.tgz#adeb78fedfc855aa05bc041640f3f6f98e85424c" - dependencies: - regenerator-runtime "^0.12.0" - "@babel/runtime@7.0.0-rc.1": version "7.0.0-rc.1" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-rc.1.tgz#42f36fc5817911c89ea75da2b874054922967616" @@ -1546,38 +1540,6 @@ "@loopback/dist-util" "^0.3.6" openapi3-ts "^0.11.0" -"@material-ui/core@^3.0.1": - version "3.0.1" - resolved "https://registry.npmjs.org/@material-ui/core/-/core-3.0.1.tgz#e8476394a42d89ae404355ddbc093db4d044b225" - dependencies: - "@babel/runtime" "7.0.0" - "@types/jss" "^9.5.3" - "@types/react-transition-group" "^2.0.8" - brcast "^3.0.1" - classnames "^2.2.5" - csstype "^2.5.2" - debounce "^1.1.0" - deepmerge "^2.0.1" - dom-helpers "^3.2.1" - hoist-non-react-statics "^2.5.0" - is-plain-object "^2.0.4" - jss "^9.3.3" - jss-camel-case "^6.0.0" - jss-default-unit "^8.0.2" - jss-global "^3.0.0" - jss-nested "^6.0.1" - jss-props-sort "^6.0.0" - jss-vendor-prefixer "^7.0.0" - keycode "^2.1.9" - normalize-scroll-left "^0.1.2" - popper.js "^1.14.1" - prop-types "^15.6.0" - react-event-listener "^0.6.2" - react-jss "^8.1.0" - react-transition-group "^2.2.1" - recompose "^0.29.0" - warning "^4.0.1" - "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -1865,13 +1827,6 @@ dependencies: jsonschema "*" -"@types/jss@^9.5.3": - version "9.5.4" - resolved "https://registry.npmjs.org/@types/jss/-/jss-9.5.4.tgz#89a4ee32a14a8d2937187b1a7f443750e964a74d" - dependencies: - csstype "^2.0.0" - indefinite-observable "^1.0.1" - "@types/lodash.foreach@^4.5.3": version "4.5.3" resolved "https://registry.yarnpkg.com/@types/lodash.foreach/-/lodash.foreach-4.5.3.tgz#87c01a0c5d9d17eec936ca3c28897af79440cdfc" @@ -1992,7 +1947,7 @@ dependencies: "@types/react" "*" -"@types/react-dom@*", "@types/react-dom@16.0.6": +"@types/react-dom@16.0.6": version "16.0.6" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.0.6.tgz#f1a65a4e7be8ed5d123f8b3b9eacc913e35a1a3c" dependencies: @@ -2088,12 +2043,6 @@ version "0.0.30" resolved "https://registry.yarnpkg.com/@types/react-tap-event-plugin/-/react-tap-event-plugin-0.0.30.tgz#123f35080412f489b6770c5a65c159ff96654cb5" -"@types/react-transition-group@^2.0.8": - version "2.0.13" - resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.13.tgz#7769fb61eb71d64d087a713956f086a42c3ee171" - dependencies: - "@types/react" "*" - "@types/react@*", "@types/react@16.4.16": version "16.4.16" resolved "https://registry.npmjs.org/@types/react/-/react-16.4.16.tgz#99f91b1200ae8c2062030402006d3b3c3a177043" @@ -4015,16 +3964,6 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - dependencies: - fill-range "^7.0.1" - -brcast@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/brcast/-/brcast-3.0.1.tgz#6256a8349b20de9eed44257a9b24d71493cd48dd" - broadway@~0.3.2, broadway@~0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/broadway/-/broadway-0.3.6.tgz#7dbef068b954b7907925fd544963b578a902ba7a" @@ -5602,12 +5541,6 @@ css-to-react-native@^2.2.2: fbjs "^0.8.5" postcss-value-parser "^3.3.0" -css-vendor@^0.3.8: - version "0.3.8" - resolved "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz#6421cfd3034ce664fe7673972fd0119fc28941fa" - dependencies: - is-in-browser "^1.0.2" - css-what@2.1: version "2.1.0" resolved "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" @@ -5679,10 +5612,6 @@ cssstyle@^1.0.0: dependencies: cssom "0.3.x" -csstype@^2.0.0, csstype@^2.5.2: - version "2.5.6" - resolved "https://registry.npmjs.org/csstype/-/csstype-2.5.6.tgz#2ae1db2319642d8b80a668d2d025c6196071e788" - csstype@^2.2.0: version "2.4.2" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.4.2.tgz#158e36c69566bf968da63d0ba14eda1c20e8643a" @@ -5743,10 +5672,6 @@ dateformat@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" -debounce@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz#44a540abc0ea9943018dc0eaa95cce87f65cd131" - debug-log@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" @@ -5902,10 +5827,6 @@ deepmerge@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.0.0.tgz#3e3110ca29205f120d7cb064960a39c3d2087c09" -deepmerge@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.1.tgz#e862b4e45ea0555072bf51e7fd0d9845170ae768" - default-gateway@^2.6.0: version "2.7.2" resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz#b7ef339e5e024b045467af403d50348db4642d0f" @@ -6189,7 +6110,7 @@ dom-converter@~0.2: dependencies: utila "~0.4" -dom-helpers@^3.2.0, dom-helpers@^3.2.1, dom-helpers@^3.3.1: +dom-helpers@^3.2.0: version "3.3.1" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.3.1.tgz#fc1a4e15ffdf60ddde03a480a9c0fece821dd4a6" @@ -9196,12 +9117,6 @@ imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" -indefinite-observable@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/indefinite-observable/-/indefinite-observable-1.0.1.tgz#09915423cc8d6f7eb1cb7882ad134633c9a6edc3" - dependencies: - symbol-observable "1.0.4" - indent-string@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" @@ -9596,10 +9511,6 @@ is-hexadecimal@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz#6e084bbc92061fbb0971ec58b6ce6d404e24da69" -is-in-browser@^1.0.2, is-in-browser@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" - is-installed-globally@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" @@ -10532,81 +10443,6 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jss-camel-case@^6.0.0, jss-camel-case@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-6.1.0.tgz#ccb1ff8d6c701c02a1fed6fb6fb6b7896e11ce44" - dependencies: - hyphenate-style-name "^1.0.2" - -jss-compose@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/jss-compose/-/jss-compose-5.0.0.tgz#ce01b2e4521d65c37ea42cf49116e5f7ab596484" - dependencies: - warning "^3.0.0" - -jss-default-unit@^8.0.2: - version "8.0.2" - resolved "https://registry.npmjs.org/jss-default-unit/-/jss-default-unit-8.0.2.tgz#cc1e889bae4c0b9419327b314ab1c8e2826890e6" - -jss-expand@^5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/jss-expand/-/jss-expand-5.3.0.tgz#02be076efe650125c842f5bb6fb68786fe441ed6" - -jss-extend@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/jss-extend/-/jss-extend-6.2.0.tgz#4af09d0b72fb98ee229970f8ca852fec1ca2a8dc" - dependencies: - warning "^3.0.0" - -jss-global@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/jss-global/-/jss-global-3.0.0.tgz#e19e5c91ab2b96353c227e30aa2cbd938cdaafa2" - -jss-nested@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/jss-nested/-/jss-nested-6.0.1.tgz#ef992b79d6e8f63d939c4397b9d99b5cbbe824ca" - dependencies: - warning "^3.0.0" - -jss-preset-default@^4.3.0: - version "4.5.0" - resolved "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.5.0.tgz#d3a457012ccd7a551312014e394c23c4b301cadd" - dependencies: - jss-camel-case "^6.1.0" - jss-compose "^5.0.0" - jss-default-unit "^8.0.2" - jss-expand "^5.3.0" - jss-extend "^6.2.0" - jss-global "^3.0.0" - jss-nested "^6.0.1" - jss-props-sort "^6.0.0" - jss-template "^1.0.1" - jss-vendor-prefixer "^7.0.0" - -jss-props-sort@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/jss-props-sort/-/jss-props-sort-6.0.0.tgz#9105101a3b5071fab61e2d85ea74cc22e9b16323" - -jss-template@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/jss-template/-/jss-template-1.0.1.tgz#09aed9d86cc547b07f53ef355d7e1777f7da430a" - dependencies: - warning "^3.0.0" - -jss-vendor-prefixer@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-7.0.0.tgz#0166729650015ef19d9f02437c73667231605c71" - dependencies: - css-vendor "^0.3.8" - -jss@^9.3.3, jss@^9.7.0: - version "9.8.7" - resolved "https://registry.npmjs.org/jss/-/jss-9.8.7.tgz#ed9763fc0f2f0260fc8260dac657af61e622ce05" - dependencies: - is-in-browser "^1.1.3" - symbol-observable "^1.1.0" - warning "^3.0.0" - jump.js@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/jump.js/-/jump.js-1.0.1.tgz#0de2b1631ba9a1c2c6b8572ad277d877e8503600" @@ -10631,7 +10467,7 @@ keccakjs@^0.2.0, keccakjs@^0.2.1: browserify-sha3 "^0.0.1" sha3 "^1.1.0" -keycode@^2.1.8, keycode@^2.1.9: +keycode@^2.1.8: version "2.2.0" resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04" @@ -12455,10 +12291,6 @@ normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" -normalize-scroll-left@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/normalize-scroll-left/-/normalize-scroll-left-0.1.2.tgz#6b79691ba79eb5fb107fa5edfbdc06b55caee2aa" - normalize-url@^1.4.0: version "1.9.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" @@ -14481,16 +14313,6 @@ react-is@^16.6.0: version "16.6.3" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.6.3.tgz#d2d7462fcfcbe6ec0da56ad69047e47e56e7eac0" -react-jss@^8.1.0: - version "8.6.1" - resolved "https://registry.npmjs.org/react-jss/-/react-jss-8.6.1.tgz#a06e2e1d2c4d91b4d11befda865e6c07fbd75252" - dependencies: - hoist-non-react-statics "^2.5.0" - jss "^9.7.0" - jss-preset-default "^4.3.0" - prop-types "^15.6.0" - theming "^1.3.0" - react-lazyload@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/react-lazyload/-/react-lazyload-2.3.0.tgz#ccb134223012447074a96543954f44b055dc6185" @@ -14512,16 +14334,6 @@ react-lottie@^1.2.3: babel-runtime "^6.26.0" lottie-web "^5.1.3" -react-markdown@^3.2.2: - version "3.3.0" - resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-3.3.0.tgz#a87cdd822aa9302d6add9687961dd1a82a45d02e" - dependencies: - prop-types "^15.6.1" - remark-parse "^5.0.0" - unified "^6.1.5" - unist-util-visit "^1.3.0" - xtend "^4.0.1" - react-markdown@^4.0.6: version "4.0.6" resolved "https://registry.npmjs.org/react-markdown/-/react-markdown-4.0.6.tgz#927d44421735cd90b7634bb221e9d7d8656e01e9" @@ -14677,15 +14489,6 @@ react-transition-group@^1.2.1: prop-types "^15.5.6" warning "^3.0.0" -react-transition-group@^2.2.1: - version "2.4.0" - resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.4.0.tgz#1d9391fabfd82e016f26fabd1eec329dbd922b5a" - dependencies: - dom-helpers "^3.3.1" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-lifecycles-compat "^3.0.4" - react-typist@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/react-typist/-/react-typist-2.0.4.tgz#e7ee4de53ead913d363d38f07b700c00ce271be0" @@ -14894,17 +14697,6 @@ recompose@^0.26.0: hoist-non-react-statics "^2.3.1" symbol-observable "^1.0.4" -recompose@^0.29.0: - version "0.29.0" - resolved "https://registry.npmjs.org/recompose/-/recompose-0.29.0.tgz#f1a4e20d5f24d6ef1440f83924e821de0b1bccef" - dependencies: - "@babel/runtime" "^7.0.0" - change-emitter "^0.1.2" - fbjs "^0.8.1" - hoist-non-react-statics "^2.3.1" - react-lifecycles-compat "^3.0.2" - symbol-observable "^1.0.4" - redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" @@ -16770,10 +16562,6 @@ symbol-observable@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" -symbol-observable@1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" - symbol-observable@^1.0.3, symbol-observable@^1.0.4, symbol-observable@^1.1.0, symbol-observable@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" @@ -16987,15 +16775,6 @@ text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -theming@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/theming/-/theming-1.3.0.tgz#286d5bae80be890d0adc645e5ca0498723725bdc" - dependencies: - brcast "^3.0.1" - is-function "^1.0.1" - is-plain-object "^2.0.1" - prop-types "^15.5.8" - thenby@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/thenby/-/thenby-1.2.3.tgz#62465b07e3d8b9466f01026df837f738e0faaa69" From 24a26aef709caf428d80c2e0d0cf2ba7b0110186 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 25 Jul 2019 11:33:02 +0200 Subject: [PATCH 030/162] Remove remaining references to react-shared --- README.md | 1 - packages/monorepo-scripts/src/test_installation.ts | 2 +- tsconfig.json | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index c061e7a07d..8ad6bf5b9a 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,6 @@ These packages are all under development. See [/contracts/README.md](/contracts/ | [`@0x/types`](/packages/types) | [![npm](https://img.shields.io/npm/v/@0x/types.svg)](https://www.npmjs.com/package/@0x/types) | Shared type declarations | | [`@0x/typescript-typings`](/packages/typescript-typings) | [![npm](https://img.shields.io/npm/v/@0x/typescript-typings.svg)](https://www.npmjs.com/package/@0x/typescript-typings) | Repository of types for external packages | | [`@0x/utils`](/packages/utils) | [![npm](https://img.shields.io/npm/v/@0x/utils.svg)](https://www.npmjs.com/package/@0x/utils) | Shared utilities | -| [`@0x/react-shared`](/packages/react-shared) | [![npm](https://img.shields.io/npm/v/@0x/react-shared.svg)](https://www.npmjs.com/package/@0x/react-shared) | 0x shared react components | | [`@0x/assert`](/packages/assert) | [![npm](https://img.shields.io/npm/v/@0x/assert.svg)](https://www.npmjs.com/package/@0x/assert) | Type and schema assertions used by our packages | | [`@0x/base-contract`](/packages/base-contract) | [![npm](https://img.shields.io/npm/v/@0x/base-contract.svg)](https://www.npmjs.com/package/@0x/base-contract) | BaseContract used by auto-generated `abi-gen` wrapper contracts | | [`@0x/dev-utils`](/packages/dev-utils) | [![npm](https://img.shields.io/npm/v/@0x/dev-utils.svg)](https://www.npmjs.com/package/@0x/dev-utils) | Dev utils to be shared across 0x packages | diff --git a/packages/monorepo-scripts/src/test_installation.ts b/packages/monorepo-scripts/src/test_installation.ts index 1591853e7d..4ad135996a 100644 --- a/packages/monorepo-scripts/src/test_installation.ts +++ b/packages/monorepo-scripts/src/test_installation.ts @@ -12,7 +12,7 @@ import { Changelog, Package } from './types'; import { utils } from './utils/utils'; // Packages might not be runnable if they are command-line tools or only run in browsers. -const UNRUNNABLE_PACKAGES = ['@0x/abi-gen', '@0x/react-shared']; +const UNRUNNABLE_PACKAGES = ['@0x/abi-gen']; const mkdirpAsync = promisify(mkdirp); const rimrafAsync = promisify(rimraf); diff --git a/tsconfig.json b/tsconfig.json index 6e723a7f37..7c4ea8f832 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -50,7 +50,6 @@ { "path": "./packages/monorepo-scripts" }, { "path": "./packages/order-utils" }, { "path": "./packages/order-watcher" }, - { "path": "./packages/react-shared" }, { "path": "./packages/sol-compiler" }, { "path": "./packages/sol-coverage" }, { "path": "./packages/sol-profiler" }, From fbda096aa9e315dbed7f01ea52869c68b0dc3290 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 25 Jul 2019 12:21:53 +0200 Subject: [PATCH 031/162] Fix linter errors --- packages/website/ts/components/footer.tsx | 2 +- packages/website/ts/components/header.tsx | 2 +- packages/website/ts/components/inputs/token_input.tsx | 2 +- .../ts/components/onboarding/install_wallet_onboarding_step.tsx | 2 +- packages/website/ts/components/portal/back_button.tsx | 2 +- packages/website/ts/components/portal/portal.tsx | 2 +- packages/website/ts/components/portal/text_header.tsx | 2 +- packages/website/ts/components/top_bar/top_bar_menu_item.tsx | 2 +- packages/website/ts/components/track_token_confirmation.tsx | 2 +- packages/website/ts/components/ui/copy_icon.tsx | 2 +- packages/website/ts/components/ui/custom_menu_item.tsx | 2 +- packages/website/ts/components/ui/lifecycle_raised_button.tsx | 2 +- packages/website/ts/components/ui/multi_select.tsx | 2 +- packages/website/ts/components/ui/pointer.tsx | 2 +- packages/website/ts/components/ui/required_label.tsx | 2 +- packages/website/ts/components/ui/simple_menu.tsx | 2 +- packages/website/ts/components/ui/spinner.tsx | 2 +- packages/website/ts/components/ui/swap_icon.tsx | 2 +- packages/website/ts/components/ui/text.tsx | 2 +- packages/website/ts/pages/faq/question.tsx | 2 +- packages/website/ts/utils/mui_theme.ts | 2 +- packages/website/ts/utils/utils.ts | 2 +- 22 files changed, 22 insertions(+), 22 deletions(-) diff --git a/packages/website/ts/components/footer.tsx b/packages/website/ts/components/footer.tsx index 5cf727b0e0..a1c8dd4f6f 100644 --- a/packages/website/ts/components/footer.tsx +++ b/packages/website/ts/components/footer.tsx @@ -3,9 +3,9 @@ import * as React from 'react'; import MediaQuery from 'react-responsive'; import styled from 'styled-components'; +import { Link as SmartLink } from 'ts/components/documentation/shared/link'; import { Logo } from 'ts/components/logo'; import { Column, FlexWrap, WrapGrid } from 'ts/components/newLayout'; -import { Link as SmartLink } from 'ts/components/documentation/shared/link'; import { NewsletterForm } from 'ts/components/newsletter_form'; import { WebsitePaths } from 'ts/types'; import { constants } from 'ts/utils/constants'; diff --git a/packages/website/ts/components/header.tsx b/packages/website/ts/components/header.tsx index 8f1f60f5f2..2f0486b685 100644 --- a/packages/website/ts/components/header.tsx +++ b/packages/website/ts/components/header.tsx @@ -1,8 +1,8 @@ -import { Link } from 'ts/components/documentation/shared/link'; import _ from 'lodash'; import * as React from 'react'; import MediaQuery from 'react-responsive'; import styled, { css, withTheme } from 'styled-components'; +import { Link } from 'ts/components/documentation/shared/link'; import Headroom from 'react-headroom'; diff --git a/packages/website/ts/components/inputs/token_input.tsx b/packages/website/ts/components/inputs/token_input.tsx index 237bf83eeb..c317c553ba 100644 --- a/packages/website/ts/components/inputs/token_input.tsx +++ b/packages/website/ts/components/inputs/token_input.tsx @@ -1,4 +1,3 @@ -import { colors } from 'ts/utils/colors'; import Paper from 'material-ui/Paper'; import * as React from 'react'; import { Blockchain } from 'ts/blockchain'; @@ -7,6 +6,7 @@ import { InputLabel } from 'ts/components/ui/input_label'; import { TokenIcon } from 'ts/components/ui/token_icon'; import { Dispatcher } from 'ts/redux/dispatcher'; import { AssetToken, BlockchainErrs, Side, Token, TokenByAddress } from 'ts/types'; +import { colors } from 'ts/utils/colors'; const TOKEN_ICON_DIMENSION = 80; diff --git a/packages/website/ts/components/onboarding/install_wallet_onboarding_step.tsx b/packages/website/ts/components/onboarding/install_wallet_onboarding_step.tsx index 46aaee5886..b52069a7cc 100644 --- a/packages/website/ts/components/onboarding/install_wallet_onboarding_step.tsx +++ b/packages/website/ts/components/onboarding/install_wallet_onboarding_step.tsx @@ -1,8 +1,8 @@ -import { colors } from 'ts/utils/colors'; import * as React from 'react'; import { Container } from 'ts/components/ui/container'; import { Image } from 'ts/components/ui/image'; import { Text } from 'ts/components/ui/text'; +import { colors } from 'ts/utils/colors'; import { utils } from 'ts/utils/utils'; export interface InstallWalletOnboardingStepProps {} diff --git a/packages/website/ts/components/portal/back_button.tsx b/packages/website/ts/components/portal/back_button.tsx index 9393bd95a9..ed15c37426 100644 --- a/packages/website/ts/components/portal/back_button.tsx +++ b/packages/website/ts/components/portal/back_button.tsx @@ -1,5 +1,5 @@ -import { Link } from 'ts/components/documentation/shared/link'; import * as React from 'react'; +import { Link } from 'ts/components/documentation/shared/link'; import { Island } from 'ts/components/ui/island'; import { colors } from 'ts/style/colors'; import { Styles } from 'ts/types'; diff --git a/packages/website/ts/components/portal/portal.tsx b/packages/website/ts/components/portal/portal.tsx index 5a72d9dba4..e26cf2bf8c 100644 --- a/packages/website/ts/components/portal/portal.tsx +++ b/packages/website/ts/components/portal/portal.tsx @@ -1,8 +1,8 @@ -import { Link } from 'ts/components/documentation/shared/link'; import { BigNumber } from '@0x/utils'; import * as _ from 'lodash'; import * as React from 'react'; import { Redirect, Route, RouteComponentProps, Switch } from 'react-router-dom'; +import { Link } from 'ts/components/documentation/shared/link'; import { colors } from 'ts/style/colors'; import { Blockchain } from 'ts/blockchain'; diff --git a/packages/website/ts/components/portal/text_header.tsx b/packages/website/ts/components/portal/text_header.tsx index 8b225e3811..ce9522cf87 100644 --- a/packages/website/ts/components/portal/text_header.tsx +++ b/packages/website/ts/components/portal/text_header.tsx @@ -1,5 +1,5 @@ -import { colors } from 'ts/utils/colors'; import * as React from 'react'; +import { colors } from 'ts/utils/colors'; import { Text } from 'ts/components/ui/text'; diff --git a/packages/website/ts/components/top_bar/top_bar_menu_item.tsx b/packages/website/ts/components/top_bar/top_bar_menu_item.tsx index 729b52fc97..61c2383ace 100644 --- a/packages/website/ts/components/top_bar/top_bar_menu_item.tsx +++ b/packages/website/ts/components/top_bar/top_bar_menu_item.tsx @@ -1,6 +1,6 @@ -import { Link } from 'ts/components/documentation/shared/link'; import * as _ from 'lodash'; import * as React from 'react'; +import { Link } from 'ts/components/documentation/shared/link'; import { colors } from 'ts/style/colors'; import { CallToAction } from 'ts/components/ui/button'; diff --git a/packages/website/ts/components/track_token_confirmation.tsx b/packages/website/ts/components/track_token_confirmation.tsx index 4108d7e35c..307f16455b 100644 --- a/packages/website/ts/components/track_token_confirmation.tsx +++ b/packages/website/ts/components/track_token_confirmation.tsx @@ -1,8 +1,8 @@ -import { colors } from 'ts/utils/colors'; import * as _ from 'lodash'; import * as React from 'react'; import { Party } from 'ts/components/ui/party'; import { Token, TokenByAddress } from 'ts/types'; +import { colors } from 'ts/utils/colors'; import { utils } from 'ts/utils/utils'; interface TrackTokenConfirmationProps { diff --git a/packages/website/ts/components/ui/copy_icon.tsx b/packages/website/ts/components/ui/copy_icon.tsx index c24b483ed4..efae7802cd 100644 --- a/packages/website/ts/components/ui/copy_icon.tsx +++ b/packages/website/ts/components/ui/copy_icon.tsx @@ -1,8 +1,8 @@ -import { colors } from 'ts/utils/colors'; import * as React from 'react'; import * as CopyToClipboard from 'react-copy-to-clipboard'; import * as ReactDOM from 'react-dom'; import ReactTooltip from 'react-tooltip'; +import { colors } from 'ts/utils/colors'; interface CopyIconProps { data: string; diff --git a/packages/website/ts/components/ui/custom_menu_item.tsx b/packages/website/ts/components/ui/custom_menu_item.tsx index 9c9698b801..e8105bec23 100644 --- a/packages/website/ts/components/ui/custom_menu_item.tsx +++ b/packages/website/ts/components/ui/custom_menu_item.tsx @@ -1,6 +1,6 @@ -import { Link } from 'ts/components/documentation/shared/link'; import * as _ from 'lodash'; import * as React from 'react'; +import { Link } from 'ts/components/documentation/shared/link'; interface CustomMenuItemProps { to: string; diff --git a/packages/website/ts/components/ui/lifecycle_raised_button.tsx b/packages/website/ts/components/ui/lifecycle_raised_button.tsx index 08c2742059..f294b58d11 100644 --- a/packages/website/ts/components/ui/lifecycle_raised_button.tsx +++ b/packages/website/ts/components/ui/lifecycle_raised_button.tsx @@ -1,7 +1,7 @@ -import { colors } from 'ts/utils/colors'; import { errorUtils } from '@0x/utils'; import RaisedButton from 'material-ui/RaisedButton'; import * as React from 'react'; +import { colors } from 'ts/utils/colors'; const COMPLETE_STATE_SHOW_LENGTH_MS = 2000; diff --git a/packages/website/ts/components/ui/multi_select.tsx b/packages/website/ts/components/ui/multi_select.tsx index 70b5431f58..dad0642ad0 100644 --- a/packages/website/ts/components/ui/multi_select.tsx +++ b/packages/website/ts/components/ui/multi_select.tsx @@ -1,6 +1,6 @@ -import { colors } from 'ts/utils/colors'; import * as _ from 'lodash'; import * as React from 'react'; +import { colors } from 'ts/utils/colors'; import { Container } from './container'; diff --git a/packages/website/ts/components/ui/pointer.tsx b/packages/website/ts/components/ui/pointer.tsx index 013c29fefe..c478887d43 100644 --- a/packages/website/ts/components/ui/pointer.tsx +++ b/packages/website/ts/components/ui/pointer.tsx @@ -1,6 +1,6 @@ -import { colors } from 'ts/utils/colors'; import * as React from 'react'; import { styled } from 'ts/style/theme'; +import { colors } from 'ts/utils/colors'; export enum PointerDirection { Top = 'top', diff --git a/packages/website/ts/components/ui/required_label.tsx b/packages/website/ts/components/ui/required_label.tsx index cc46b32697..a5e7a22cec 100644 --- a/packages/website/ts/components/ui/required_label.tsx +++ b/packages/website/ts/components/ui/required_label.tsx @@ -1,5 +1,5 @@ -import { colors } from 'ts/utils/colors'; import * as React from 'react'; +import { colors } from 'ts/utils/colors'; export interface RequiredLabelProps { label: string | React.ReactNode; diff --git a/packages/website/ts/components/ui/simple_menu.tsx b/packages/website/ts/components/ui/simple_menu.tsx index e44af6db1b..0964de03fa 100644 --- a/packages/website/ts/components/ui/simple_menu.tsx +++ b/packages/website/ts/components/ui/simple_menu.tsx @@ -1,7 +1,7 @@ -import { Link } from 'ts/components/documentation/shared/link'; import * as _ from 'lodash'; import * as React from 'react'; import * as CopyToClipboard from 'react-copy-to-clipboard'; +import { Link } from 'ts/components/documentation/shared/link'; import { Container } from 'ts/components/ui/container'; import { Text } from 'ts/components/ui/text'; diff --git a/packages/website/ts/components/ui/spinner.tsx b/packages/website/ts/components/ui/spinner.tsx index a18620d6e9..d31a1a99de 100644 --- a/packages/website/ts/components/ui/spinner.tsx +++ b/packages/website/ts/components/ui/spinner.tsx @@ -1,6 +1,6 @@ -import { colors } from 'ts/utils/colors'; import * as React from 'react'; import { styled } from 'ts/style/theme'; +import { colors } from 'ts/utils/colors'; import { dash, rotate } from 'ts/style/keyframes'; diff --git a/packages/website/ts/components/ui/swap_icon.tsx b/packages/website/ts/components/ui/swap_icon.tsx index 87b91217b8..5c76b0f2c6 100644 --- a/packages/website/ts/components/ui/swap_icon.tsx +++ b/packages/website/ts/components/ui/swap_icon.tsx @@ -1,5 +1,5 @@ -import { colors } from 'ts/utils/colors'; import * as React from 'react'; +import { colors } from 'ts/utils/colors'; interface SwapIconProps { swapTokensFn: () => void; diff --git a/packages/website/ts/components/ui/text.tsx b/packages/website/ts/components/ui/text.tsx index d8029e933e..f0436e4ada 100644 --- a/packages/website/ts/components/ui/text.tsx +++ b/packages/website/ts/components/ui/text.tsx @@ -1,7 +1,7 @@ -import { colors } from 'ts/utils/colors'; import { darken } from 'polished'; import * as React from 'react'; import { styled } from 'ts/style/theme'; +import { colors } from 'ts/utils/colors'; export type TextTag = 'p' | 'div' | 'span' | 'label' | 'h1' | 'h2' | 'h3' | 'h4' | 'i' | 'span'; diff --git a/packages/website/ts/pages/faq/question.tsx b/packages/website/ts/pages/faq/question.tsx index 11aa38817f..2f69c1d0e7 100644 --- a/packages/website/ts/pages/faq/question.tsx +++ b/packages/website/ts/pages/faq/question.tsx @@ -1,6 +1,6 @@ -import { colors } from 'ts/utils/colors'; import { Card, CardHeader, CardText } from 'material-ui/Card'; import * as React from 'react'; +import { colors } from 'ts/utils/colors'; export interface QuestionProps { prompt: string; diff --git a/packages/website/ts/utils/mui_theme.ts b/packages/website/ts/utils/mui_theme.ts index b5a75acb43..151a68eafb 100644 --- a/packages/website/ts/utils/mui_theme.ts +++ b/packages/website/ts/utils/mui_theme.ts @@ -1,5 +1,5 @@ -import { colors } from 'ts/utils/colors'; import { getMuiTheme } from 'material-ui/styles'; +import { colors } from 'ts/utils/colors'; export const muiTheme = getMuiTheme({ appBar: { diff --git a/packages/website/ts/utils/utils.ts b/packages/website/ts/utils/utils.ts index 46fde32cf6..86e5b1fe78 100644 --- a/packages/website/ts/utils/utils.ts +++ b/packages/website/ts/utils/utils.ts @@ -528,4 +528,4 @@ export const utils = { const etherScanPrefix = networkName === Networks.Mainnet ? '' : `${networkName.toLowerCase()}.`; return `https://${etherScanPrefix}etherscan.io/${suffix}/${addressOrTxHash}`; }, -}; +}; // tslint:disable:max-file-line-count From 34a93857a0687483c1fed7f83c6c42e5322155ea Mon Sep 17 00:00:00 2001 From: fabioberger Date: Sat, 27 Jul 2019 14:34:10 +0200 Subject: [PATCH 032/162] Remove eth-lighwallet subprovider --- packages/subproviders/CHANGELOG.json | 8 + packages/subproviders/package.json | 2 - .../eth_lightwallet_subprovider.ts | 91 --------- .../unit/eth_lightwallet_subprovider_test.ts | 188 ------------------ 4 files changed, 8 insertions(+), 281 deletions(-) delete mode 100644 packages/subproviders/src/subproviders/eth_lightwallet_subprovider.ts delete mode 100644 packages/subproviders/test/unit/eth_lightwallet_subprovider_test.ts diff --git a/packages/subproviders/CHANGELOG.json b/packages/subproviders/CHANGELOG.json index f635219dde..ef29019143 100644 --- a/packages/subproviders/CHANGELOG.json +++ b/packages/subproviders/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "5.0.0", + "changes": [ + { + "note": "Remove eth-lightwallet subprovider" + } + ] + }, { "version": "4.1.2", "changes": [ diff --git a/packages/subproviders/package.json b/packages/subproviders/package.json index eceb633c62..d4d36184b7 100644 --- a/packages/subproviders/package.json +++ b/packages/subproviders/package.json @@ -37,12 +37,10 @@ "@0x/web3-wrapper": "^6.0.8", "@ledgerhq/hw-app-eth": "^4.3.0", "@ledgerhq/hw-transport-u2f": "4.24.0", - "@types/eth-lightwallet": "^3.0.0", "@types/hdkey": "^0.7.0", "@types/web3-provider-engine": "^14.0.0", "bip39": "^2.5.0", "bn.js": "^4.11.8", - "eth-lightwallet": "^3.0.1", "ethereum-types": "^2.1.4", "ethereumjs-tx": "^1.3.5", "ethereumjs-util": "^5.1.1", diff --git a/packages/subproviders/src/subproviders/eth_lightwallet_subprovider.ts b/packages/subproviders/src/subproviders/eth_lightwallet_subprovider.ts deleted file mode 100644 index 15cd713af3..0000000000 --- a/packages/subproviders/src/subproviders/eth_lightwallet_subprovider.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { EIP712TypedData } from '@0x/types'; -import * as lightwallet from 'eth-lightwallet'; - -import { PartialTxParams } from '../types'; - -import { BaseWalletSubprovider } from './base_wallet_subprovider'; -import { PrivateKeyWalletSubprovider } from './private_key_wallet'; - -/* - * This class implements the web3-provider-engine subprovider interface and forwards - * requests involving user accounts and signing operations to eth-lightwallet - * - * Source: https://github.com/MetaMask/provider-engine/blob/master/subproviders/subprovider.js - */ -export class EthLightwalletSubprovider extends BaseWalletSubprovider { - private readonly _keystore: lightwallet.keystore; - private readonly _pwDerivedKey: Uint8Array; - /** - * Instantiate an EthLightwalletSubprovider - * @param keystore The EthLightWallet keystore you wish to use - * @param pwDerivedKey The password derived key to use - * @return EthLightwalletSubprovider instance - */ - constructor(keystore: lightwallet.keystore, pwDerivedKey: Uint8Array) { - super(); - this._keystore = keystore; - this._pwDerivedKey = pwDerivedKey; - } - /** - * Retrieve the accounts associated with the eth-lightwallet instance. - * This method is implicitly called when issuing a `eth_accounts` JSON RPC request - * via your providerEngine instance. - * - * @return An array of accounts - */ - public async getAccountsAsync(): Promise { - const accounts = this._keystore.getAddresses(); - return accounts; - } - /** - * Signs a transaction with the account specificed by the `from` field in txParams. - * If you've added this Subprovider to your app's provider, you can simply send - * an `eth_sendTransaction` JSON RPC request, and this method will be called auto-magically. - * If you are not using this via a ProviderEngine instance, you can call it directly. - * @param txParams Parameters of the transaction to sign - * @return Signed transaction hex string - */ - public async signTransactionAsync(txParams: PartialTxParams): Promise { - // Lightwallet loses the chain id information when hex encoding the transaction - // this results in a different signature on certain networks. PrivateKeyWallet - // respects this as it uses the parameters passed in - let privateKey = this._keystore.exportPrivateKey(txParams.from, this._pwDerivedKey); - const privateKeyWallet = new PrivateKeyWalletSubprovider(privateKey); - privateKey = ''; - const privateKeySignature = await privateKeyWallet.signTransactionAsync(txParams); - return privateKeySignature; - } - /** - * Sign a personal Ethereum signed message. The signing account will be the account - * associated with the provided address. - * If you've added this Subprovider to your app's provider, you can simply send an `eth_sign` - * or `personal_sign` JSON RPC request, and this method will be called auto-magically. - * If you are not using this via a ProviderEngine instance, you can call it directly. - * @param data Hex string message to sign - * @param address Address of the account to sign with - * @return Signature hex string (order: rsv) - */ - public async signPersonalMessageAsync(data: string, address: string): Promise { - let privateKey = this._keystore.exportPrivateKey(address, this._pwDerivedKey); - const privateKeyWallet = new PrivateKeyWalletSubprovider(privateKey); - privateKey = ''; - const result = privateKeyWallet.signPersonalMessageAsync(data, address); - return result; - } - /** - * Sign an EIP712 Typed Data message. The signing address will associated with the provided address. - * If you've added this Subprovider to your app's provider, you can simply send an `eth_signTypedData` - * JSON RPC request, and this method will be called auto-magically. - * If you are not using this via a ProviderEngine instance, you can call it directly. - * @param address Address of the account to sign with - * @param data the typed data object - * @return Signature hex string (order: rsv) - */ - public async signTypedDataAsync(address: string, typedData: EIP712TypedData): Promise { - let privateKey = this._keystore.exportPrivateKey(address, this._pwDerivedKey); - const privateKeyWallet = new PrivateKeyWalletSubprovider(privateKey); - privateKey = ''; - const result = privateKeyWallet.signTypedDataAsync(address, typedData); - return result; - } -} diff --git a/packages/subproviders/test/unit/eth_lightwallet_subprovider_test.ts b/packages/subproviders/test/unit/eth_lightwallet_subprovider_test.ts deleted file mode 100644 index 468a9725f4..0000000000 --- a/packages/subproviders/test/unit/eth_lightwallet_subprovider_test.ts +++ /dev/null @@ -1,188 +0,0 @@ -import { providerUtils } from '@0x/utils'; -import * as chai from 'chai'; -import * as lightwallet from 'eth-lightwallet'; -import { JSONRPCResponsePayload } from 'ethereum-types'; -import * as ethUtils from 'ethereumjs-util'; - -import { EthLightwalletSubprovider, Web3ProviderEngine } from '../../src'; -import { DoneCallback } from '../../src/types'; -import { chaiSetup } from '../chai_setup'; -import { fixtureData } from '../utils/fixture_data'; -import { ganacheSubprovider } from '../utils/ganache_subprovider'; -import { reportCallbackErrors } from '../utils/report_callback_errors'; - -chaiSetup.configure(); -const expect = chai.expect; - -const DEFAULT_NUM_ACCOUNTS = 10; -const PASSWORD = 'supersecretpassword99'; -const SALT = 'kvODghzs7Ff1uqHyI0P3wI4Hso4w4iWT2e9qmrWz0y4'; - -describe('EthLightwalletSubprovider', () => { - let ethLightwalletSubprovider: EthLightwalletSubprovider; - before(async () => { - const options = { - password: PASSWORD, - seedPhrase: fixtureData.TEST_RPC_MNEMONIC, - salt: SALT, - hdPathString: fixtureData.TESTRPC_BASE_DERIVATION_PATH, - }; - const createVaultAsync = async (vaultOptions: lightwallet.VaultOptions) => { - return new Promise(resolve => { - lightwallet.keystore.createVault(vaultOptions, (err: Error, vaultKeystore) => { - if (err) { - throw new Error(`Failed to createVault: ${err}`); - } - resolve(vaultKeystore); - }); - }); - }; - const deriveKeyFromPasswordAsync = async (vaultKeystore: lightwallet.keystore) => { - return new Promise(resolve => { - vaultKeystore.keyFromPassword(PASSWORD, (err: Error, passwordDerivedKey: Uint8Array) => { - if (err) { - throw new Error(`Failed to get key from password: ${err}`); - } - resolve(passwordDerivedKey); - }); - }); - }; - const keystore: lightwallet.keystore = await createVaultAsync(options); - const pwDerivedKey: Uint8Array = await deriveKeyFromPasswordAsync(keystore); - - // Generate 10 addresses - keystore.generateNewAddress(pwDerivedKey, DEFAULT_NUM_ACCOUNTS); - - ethLightwalletSubprovider = new EthLightwalletSubprovider(keystore, pwDerivedKey); - }); - describe('direct method calls', () => { - describe('success cases', () => { - it('returns a list of accounts', async () => { - const accounts = await ethLightwalletSubprovider.getAccountsAsync(); - expect(accounts[0]).to.be.equal(fixtureData.TEST_RPC_ACCOUNT_0); - expect(accounts[1]).to.be.equal(fixtureData.TEST_RPC_ACCOUNT_1); - expect(accounts.length).to.be.equal(DEFAULT_NUM_ACCOUNTS); - }); - it('signs a personal message hash', async () => { - const accounts = await ethLightwalletSubprovider.getAccountsAsync(); - const signingAccount = accounts[0]; - const data = ethUtils.bufferToHex(ethUtils.toBuffer(fixtureData.PERSONAL_MESSAGE_STRING)); - const ecSignatureHex = await ethLightwalletSubprovider.signPersonalMessageAsync(data, signingAccount); - expect(ecSignatureHex).to.be.equal(fixtureData.PERSONAL_MESSAGE_SIGNED_RESULT); - }); - it('signs a transaction', async () => { - const txHex = await ethLightwalletSubprovider.signTransactionAsync(fixtureData.TX_DATA); - expect(txHex).to.be.equal(fixtureData.TX_DATA_SIGNED_RESULT); - }); - it('signs an EIP712 sign typed data message', async () => { - const signature = await ethLightwalletSubprovider.signTypedDataAsync( - fixtureData.TEST_RPC_ACCOUNT_0, - fixtureData.EIP712_TEST_TYPED_DATA, - ); - expect(signature).to.be.equal(fixtureData.EIP712_TEST_TYPED_DATA_SIGNED_RESULT); - }); - }); - }); - describe('calls through a provider', () => { - let provider: Web3ProviderEngine; - before(() => { - provider = new Web3ProviderEngine(); - provider.addProvider(ethLightwalletSubprovider); - provider.addProvider(ganacheSubprovider); - providerUtils.startProviderEngine(provider); - }); - describe('success cases', () => { - it('returns a list of accounts', (done: DoneCallback) => { - const payload = { - jsonrpc: '2.0', - method: 'eth_accounts', - params: [], - id: 1, - }; - const callback = reportCallbackErrors(done)((err: Error, response: JSONRPCResponsePayload) => { - expect(err).to.be.a('null'); - expect(response.result[0]).to.be.equal(fixtureData.TEST_RPC_ACCOUNT_0); - expect(response.result.length).to.be.equal(DEFAULT_NUM_ACCOUNTS); - done(); - }); - provider.sendAsync(payload, callback); - }); - it('signs a personal message hash with eth_sign', (done: DoneCallback) => { - const data = ethUtils.bufferToHex(ethUtils.toBuffer(fixtureData.PERSONAL_MESSAGE_STRING)); - const account = fixtureData.TEST_RPC_ACCOUNT_0; - const payload = { - jsonrpc: '2.0', - method: 'eth_sign', - params: [account, data], - id: 1, - }; - const callback = reportCallbackErrors(done)((err: Error, response: JSONRPCResponsePayload) => { - expect(err).to.be.a('null'); - expect(response.result).to.be.equal(fixtureData.PERSONAL_MESSAGE_SIGNED_RESULT); - done(); - }); - provider.sendAsync(payload, callback); - }); - it('signs a transaction', (done: DoneCallback) => { - const payload = { - jsonrpc: '2.0', - method: 'eth_signTransaction', - params: [fixtureData.TX_DATA], - id: 1, - }; - const callback = reportCallbackErrors(done)((err: Error, response: JSONRPCResponsePayload) => { - expect(err).to.be.a('null'); - expect(response.result.raw).to.be.equal(fixtureData.TX_DATA_SIGNED_RESULT); - done(); - }); - provider.sendAsync(payload, callback); - }); - it('signs an EIP712 sign typed data message with eth_signTypedData', (done: DoneCallback) => { - const payload = { - jsonrpc: '2.0', - method: 'eth_signTypedData', - params: [fixtureData.TEST_RPC_ACCOUNT_0, fixtureData.EIP712_TEST_TYPED_DATA], - id: 1, - }; - const callback = reportCallbackErrors(done)((err: Error, response: JSONRPCResponsePayload) => { - expect(err).to.be.a('null'); - expect(response.result).to.be.equal(fixtureData.EIP712_TEST_TYPED_DATA_SIGNED_RESULT); - done(); - }); - provider.sendAsync(payload, callback); - }); - }); - describe('failure cases', () => { - it('should throw if `data` param not hex when calling eth_sign', (done: DoneCallback) => { - const nonHexMessage = 'hello world'; - const payload = { - jsonrpc: '2.0', - method: 'eth_sign', - params: [fixtureData.TEST_RPC_ACCOUNT_0, nonHexMessage], - id: 1, - }; - const callback = reportCallbackErrors(done)((err: Error, _response: JSONRPCResponsePayload) => { - expect(err).to.not.be.a('null'); - expect(err.message).to.be.equal('Expected data to be of type HexString, encountered: hello world'); - done(); - }); - provider.sendAsync(payload, callback); - }); - it('should throw if `data` param not hex when calling personal_sign', (done: DoneCallback) => { - const nonHexMessage = 'hello world'; - const payload = { - jsonrpc: '2.0', - method: 'personal_sign', - params: [nonHexMessage, fixtureData.TEST_RPC_ACCOUNT_0], - id: 1, - }; - const callback = reportCallbackErrors(done)((err: Error, _response: JSONRPCResponsePayload) => { - expect(err).to.not.be.a('null'); - expect(err.message).to.be.equal('Expected data to be of type HexString, encountered: hello world'); - done(); - }); - provider.sendAsync(payload, callback); - }); - }); - }); -}); From 91992bb034500415262d661221b649b4b3987bb7 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Sat, 27 Jul 2019 14:37:50 +0200 Subject: [PATCH 033/162] Update ganache-core --- packages/subproviders/package.json | 2 +- packages/web3-wrapper/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/subproviders/package.json b/packages/subproviders/package.json index d4d36184b7..6d24af5952 100644 --- a/packages/subproviders/package.json +++ b/packages/subproviders/package.json @@ -44,7 +44,7 @@ "ethereum-types": "^2.1.4", "ethereumjs-tx": "^1.3.5", "ethereumjs-util": "^5.1.1", - "ganache-core": "^2.5.3", + "ganache-core": "^2.6.0", "hdkey": "^0.7.1", "json-rpc-error": "2.0.0", "lodash": "^4.17.11", diff --git a/packages/web3-wrapper/package.json b/packages/web3-wrapper/package.json index b2e80003bb..305a2c37d0 100644 --- a/packages/web3-wrapper/package.json +++ b/packages/web3-wrapper/package.json @@ -44,7 +44,7 @@ "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", - "ganache-core": "^2.5.3", + "ganache-core": "^2.6.0", "make-promises-safe": "^1.1.0", "mocha": "^6.2.0", "npm-run-all": "^4.1.2", From 8dfda9ffdd82b143f1c1d0551621b3359bc9679f Mon Sep 17 00:00:00 2001 From: fabioberger Date: Sat, 27 Jul 2019 14:38:05 +0200 Subject: [PATCH 034/162] Update publish-release fork to version with v4 lodash dep --- packages/monorepo-scripts/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/monorepo-scripts/package.json b/packages/monorepo-scripts/package.json index e77a260a40..c157fa29de 100644 --- a/packages/monorepo-scripts/package.json +++ b/packages/monorepo-scripts/package.json @@ -63,7 +63,7 @@ "opn": "^5.3.0", "promisify-child-process": "^1.0.5", "prompt": "^1.0.0", - "publish-release": "0xproject/publish-release", + "publish-release": "0xproject/publish-release#1.3.3-fork", "rimraf": "^2.6.2", "semver": "5.5.0", "semver-diff": "^2.1.0", From aeadaba0053e03566aabd4c187a9096eb2434004 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Sat, 27 Jul 2019 14:41:46 +0200 Subject: [PATCH 035/162] update publish-release fork again with updated inquirer dep --- packages/monorepo-scripts/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/monorepo-scripts/package.json b/packages/monorepo-scripts/package.json index c157fa29de..f1055cad8d 100644 --- a/packages/monorepo-scripts/package.json +++ b/packages/monorepo-scripts/package.json @@ -63,7 +63,7 @@ "opn": "^5.3.0", "promisify-child-process": "^1.0.5", "prompt": "^1.0.0", - "publish-release": "0xproject/publish-release#1.3.3-fork", + "publish-release": "0xproject/publish-release#1.3.3-fork-updated-deps", "rimraf": "^2.6.2", "semver": "5.5.0", "semver-diff": "^2.1.0", From 5e19496e32d9608e9030177c16225e27ebcfd271 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Sat, 27 Jul 2019 14:45:20 +0200 Subject: [PATCH 036/162] Update as many lodash deps to higher versions --- yarn.lock | 383 +++++++++++++++++++++--------------------------------- 1 file changed, 146 insertions(+), 237 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1bb3183d1f..6998858c1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1755,12 +1755,6 @@ "@types/cheerio" "*" "@types/react" "*" -"@types/eth-lightwallet@^3.0.0": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/eth-lightwallet/-/eth-lightwallet-3.0.0.tgz#9be5b59dc6fb3fcdb01e65c2c2a79cd601f72dd4" - dependencies: - "@types/node" "*" - "@types/ethereum-protocol@*": version "1.0.0" resolved "https://registry.npmjs.org/@types/ethereum-protocol/-/ethereum-protocol-1.0.0.tgz#416e3827d5fdfa4658b0045b35a008747871b271" @@ -2563,10 +2557,6 @@ ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" -ansi-regex@^1.0.0, ansi-regex@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-1.1.1.tgz#41c847194646375e6a1a5d10c3ca054ef9fc980d" - ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -2609,7 +2599,7 @@ any-promise@1.3.0, any-promise@^1.0.0, any-promise@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" -anymatch@^1.1.0, anymatch@^1.3.0: +anymatch@^1.3.0: version "1.3.2" resolved "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" dependencies: @@ -3786,10 +3776,6 @@ bignumber.js@7.2.1: version "2.0.7" resolved "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2" -"bignumber.js@git+https://github.com/frozeman/bignumber.js-nolookahead.git": - version "2.0.7" - resolved "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934" - bignumber.js@~4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-4.1.0.tgz#db6f14067c140bd46624815a7916c92d9b6c24b1" @@ -3830,24 +3816,6 @@ bip66@^1.1.3: dependencies: safe-buffer "^5.0.1" -bitcore-lib@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/bitcore-lib/-/bitcore-lib-0.15.0.tgz#f924be13869f2aab7e04aeec5642ad3359b6cec2" - dependencies: - bn.js "=4.11.8" - bs58 "=4.0.1" - buffer-compare "=1.1.1" - elliptic "=6.4.0" - inherits "=2.0.1" - lodash "=4.17.4" - -bitcore-mnemonic@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bitcore-mnemonic/-/bitcore-mnemonic-1.5.0.tgz#c7e785beb6bf0616ed4992785dc3658670425a39" - dependencies: - bitcore-lib "^0.15.0" - unorm "^1.3.3" - bl@^1.0.0: version "1.2.2" resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" @@ -3871,7 +3839,12 @@ blockies@^0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/blockies/-/blockies-0.0.2.tgz#22ad58da4f6b382bc79bf4386c5820c70047e4ed" -bluebird@^2.9.24, bluebird@^2.9.34: +bluebird@3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" + integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== + +bluebird@^2.9.34: version "2.11.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" @@ -3891,14 +3864,10 @@ bn.js@4.11.7: version "4.11.7" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.7.tgz#ddb048e50d9482790094c13eb3fcfc833ce7ab46" -bn.js@4.11.8, bn.js@=4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.3, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.4.0, bn.js@^4.8.0: +bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.3, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.4.0, bn.js@^4.8.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" -bn.js@^2.0.3: - version "2.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-2.2.0.tgz#12162bc2ae71fc40a5626c33438f3a875cd37625" - body-parser@1.18.2, body-parser@^1.16.0, body-parser@^1.17.1: version "1.18.2" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" @@ -4135,16 +4104,16 @@ bs-logger@0.x: dependencies: fast-json-stable-stringify "^2.0.0" -bs58@=4.0.1, bs58@^4.0.0: +bs58@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.1.tgz#55908d58f1982aba2008fa1bed8f91998a29bf8d" + +bs58@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" dependencies: base-x "^3.0.2" -bs58@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.1.tgz#55908d58f1982aba2008fa1bed8f91998a29bf8d" - bs58check@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" @@ -4163,10 +4132,6 @@ btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" -buffer-compare@=1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-compare/-/buffer-compare-1.1.1.tgz#5be7be853af89198d1f4ddc090d1d66a48aef596" - buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -4195,7 +4160,7 @@ buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" -buffer@4.9.1, buffer@^4.3.0, buffer@^4.9.0: +buffer@4.9.1, buffer@^4.3.0: version "4.9.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" dependencies: @@ -4218,7 +4183,7 @@ buffer@^5.0.3, buffer@^5.0.5: base64-js "^1.0.2" ieee754 "^1.1.4" -buffer@^5.1.0: +buffer@^5.1.0, buffer@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" dependencies: @@ -4418,7 +4383,7 @@ camelcase-keys@^4.0.0: map-obj "^2.0.0" quick-lru "^1.0.0" -camelcase@^2.0.0, camelcase@^2.0.1: +camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -4604,15 +4569,33 @@ cheerio@^1.0.0-rc.2: parse5 "^3.0.1" chokidar-cli@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/chokidar-cli/-/chokidar-cli-1.2.0.tgz#8e7f58442273182018be1868e53c22af65a21948" + version "1.2.2" + resolved "https://registry.yarnpkg.com/chokidar-cli/-/chokidar-cli-1.2.2.tgz#fbfddcf1f9062c07744f0bbeb6f60a49de12c656" + integrity sha512-Yx0OYKcAkS7YMPP3/co6aN+1AOx2L6WmscqWvnqs7z+9AhDsn4zpezaErNoPACri1iUVjtxk8E77sMGntkBh3Q== dependencies: - anymatch "^1.1.0" - bluebird "^2.9.24" - chokidar "^1.0.1" - lodash "^3.7.0" - shell-quote "^1.4.3" - yargs "^3.7.2" + bluebird "3.5.3" + chokidar "2.1.1" + lodash "4.17.11" + yargs "12.0.5" + +chokidar@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.1.tgz#adc39ad55a2adf26548bd2afa048f611091f9184" + integrity sha512-gfw3p2oQV2wEt+8VuMlNsPjCxDxvvgnm/kz+uATu805mWVF8IJN7uz9DN7iBz+RMJISmiVbCOBFs9qBGMjtPfQ== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.0" + optionalDependencies: + fsevents "^1.2.7" chokidar@^1.0.1: version "1.7.0" @@ -4772,10 +4755,6 @@ cli-truncate@^0.2.1: slice-ansi "0.0.4" string-width "^1.0.1" -cli-width@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-1.1.1.tgz#a4d293ef67ebb7b88d4a4d42c0ccf00c4d1e366d" - cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" @@ -4804,7 +4783,7 @@ clipboard@^2.0.0: select "^1.1.2" tiny-emitter "^2.0.0" -cliui@^3.0.3, cliui@^3.2.0: +cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" dependencies: @@ -5509,7 +5488,7 @@ crypto-browserify@3.12.0, crypto-browserify@^3.11.0: randombytes "^2.0.0" randomfill "^1.0.3" -crypto-js@^3.1.4, crypto-js@^3.1.5: +crypto-js@^3.1.4: version "3.1.8" resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.1.8.tgz#715f070bf6014f2ae992a98b3929258b713f08d5" @@ -6378,7 +6357,7 @@ elliptic@6.3.3: hash.js "^1.0.0" inherits "^2.0.1" -elliptic@=6.4.0, elliptic@^6.0.0, elliptic@^6.2.3, elliptic@^6.4.0: +elliptic@^6.0.0, elliptic@^6.2.3, elliptic@^6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" dependencies: @@ -6390,15 +6369,6 @@ elliptic@=6.4.0, elliptic@^6.0.0, elliptic@^6.2.3, elliptic@^6.4.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" -elliptic@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/elliptic/-/elliptic-3.1.0.tgz#c21682ef762769b56a74201609105da11d5f60cc" - dependencies: - bn.js "^2.0.3" - brorand "^1.0.1" - hash.js "^1.0.0" - inherits "^2.0.1" - emoji-regex@^7.0.1, emoji-regex@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -6812,22 +6782,6 @@ eth-lib@0.2.7: elliptic "^6.4.0" xhr-request-promise "^0.1.2" -eth-lightwallet@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eth-lightwallet/-/eth-lightwallet-3.0.1.tgz#297022932aa568f4e4eb0873bff257f5e5b78709" - dependencies: - bitcore-lib "^0.15.0" - bitcore-mnemonic "^1.5.0" - buffer "^4.9.0" - crypto-js "^3.1.5" - elliptic "^3.1.0" - ethereumjs-tx "^1.3.3" - ethereumjs-util "^5.1.1" - rlp "^2.0.0" - scrypt-async "^1.2.0" - tweetnacl "0.13.2" - web3 "0.20.2" - eth-query@^2.0.2, eth-query@^2.1.0, eth-query@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" @@ -6835,12 +6789,17 @@ eth-query@^2.0.2, eth-query@^2.1.0, eth-query@^2.1.2: json-rpc-random-id "^1.0.0" xtend "^4.0.1" -eth-sig-util@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-2.0.2.tgz#bfdb274293620404b7631019dc3d7f17bb2e06f4" +eth-sig-util@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-2.1.2.tgz#9b357395b5ca07fae6b430d3e534cf0a0f1df118" + integrity sha512-bNgt7txkEmaNlLf+PrbwYIdp4KRkB3E7hW0/QwlBpgv920pVVyQnF0evoovfiRveNKM4OrtPYZTojjmsfuCUOw== dependencies: + buffer "^5.2.1" + elliptic "^6.4.0" ethereumjs-abi "0.6.5" ethereumjs-util "^5.1.1" + tweetnacl "^1.0.0" + tweetnacl-util "^0.15.0" eth-sig-util@^1.4.2: version "1.4.2" @@ -6964,7 +6923,7 @@ ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@ ethereum-common "^0.0.18" ethereumjs-util "^5.0.0" -ethereumjs-util@5.2.0, ethereumjs-util@^5.2.0: +ethereumjs-util@5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#3e0c0d1741471acf1036052d048623dee54ad642" dependencies: @@ -7010,6 +6969,23 @@ ethereumjs-util@^6.0.0: safe-buffer "^5.1.1" secp256k1 "^3.0.1" +ethereumjs-vm@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" + integrity sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw== + dependencies: + async "^2.1.2" + async-eventemitter "^0.2.2" + ethereumjs-account "^2.0.3" + ethereumjs-block "~2.2.0" + ethereumjs-common "^1.1.0" + ethereumjs-util "^6.0.0" + fake-merkle-patricia-tree "^1.0.1" + functional-red-black-tree "^1.0.1" + merkle-patricia-tree "^2.3.2" + rustbn.js "~0.2.0" + safe-buffer "^5.1.1" + ethereumjs-vm@^2.0.2, ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4: version "2.3.4" resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.3.4.tgz#f635d7cb047571a1840a6e9a74d29de4488f8ad6" @@ -7026,32 +7002,18 @@ ethereumjs-vm@^2.0.2, ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4: rustbn.js "~0.1.1" safe-buffer "^5.1.1" -ethereumjs-vm@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" - dependencies: - async "^2.1.2" - async-eventemitter "^0.2.2" - ethereumjs-account "^2.0.3" - ethereumjs-block "~2.2.0" - ethereumjs-common "^1.1.0" - ethereumjs-util "^6.0.0" - fake-merkle-patricia-tree "^1.0.1" - functional-red-black-tree "^1.0.1" - merkle-patricia-tree "^2.3.2" - rustbn.js "~0.2.0" - safe-buffer "^5.1.1" - -ethereumjs-wallet@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/ethereumjs-wallet/-/ethereumjs-wallet-0.6.2.tgz#67244b6af3e8113b53d709124b25477b64aeccda" +ethereumjs-wallet@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/ethereumjs-wallet/-/ethereumjs-wallet-0.6.3.tgz#b0eae6f327637c2aeb9ccb9047b982ac542e6ab1" + integrity sha512-qiXPiZOsStem+Dj/CQHbn5qex+FVkuPmGH7SvSnA9F3tdRDt8dLMyvIj3+U05QzVZNPYh4HXEdnzoYI4dZkr9w== dependencies: aes-js "^3.1.1" bs58check "^2.1.2" - ethereumjs-util "^5.2.0" - hdkey "^1.0.0" + ethereumjs-util "^6.0.0" + hdkey "^1.1.0" + randombytes "^2.0.6" safe-buffer "^5.1.2" - scrypt.js "^0.2.0" + scrypt.js "^0.3.0" utf8 "^3.0.0" uuid "^3.3.2" @@ -7569,7 +7531,7 @@ figlet@^1.1.1: version "1.2.1" resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.1.tgz#48d35df9d9b10b1b3888302e6e57904a0b00509c" -figures@^1.3.5, figures@^1.7.0: +figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" dependencies: @@ -8040,9 +8002,10 @@ ganache-cli@6.4.1: source-map-support "0.5.9" yargs "11.1.0" -ganache-core@^2.5.3: - version "2.5.3" - resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.5.3.tgz#8c6f21d820a694826082dfbb2dc59f834a6874fc" +ganache-core@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.6.0.tgz#19001547893ff9f6d494fcaed66c52edd808f3c0" + integrity sha512-TAT8XCjORmRpWko9QWKWGbdZ8/3nblKgralUWdySHXZyGBVRoHyEzjygMYZoblSXXCWuYEmx+T1u73Di1tE0mA== dependencies: abstract-leveldown "3.0.0" async "2.6.1" @@ -8052,13 +8015,13 @@ ganache-core@^2.5.3: clone "2.1.2" debug "3.1.0" encoding-down "5.0.4" - eth-sig-util "2.0.2" + eth-sig-util "2.1.2" ethereumjs-abi "0.6.5" ethereumjs-account "2.0.5" ethereumjs-block "2.1.0" ethereumjs-tx "1.3.7" ethereumjs-util "5.2.0" - ethereumjs-vm "^2.6.0" + ethereumjs-vm "2.6.0" heap "0.2.6" level-sublevel "6.6.4" levelup "3.1.1" @@ -8071,7 +8034,7 @@ ganache-core@^2.5.3: web3-provider-engine "14.1.0" websocket "1.0.26" optionalDependencies: - ethereumjs-wallet "0.6.2" + ethereumjs-wallet "0.6.3" web3 "1.0.0-beta.35" gauge@~1.2.5: @@ -8792,9 +8755,10 @@ hdkey@^0.7.1: coinstring "^2.0.0" secp256k1 "^3.0.1" -hdkey@^1.0.0: +hdkey@^1.1.0: version "1.1.1" - resolved "https://registry.npmjs.org/hdkey/-/hdkey-1.1.1.tgz#c2b3bfd5883ff9529b72f2f08b28be0972a9f64a" + resolved "https://registry.yarnpkg.com/hdkey/-/hdkey-1.1.1.tgz#c2b3bfd5883ff9529b72f2f08b28be0972a9f64a" + integrity sha512-DvHZ5OuavsfWs5yfVJZestsnc3wzPvLWNk6c2nRUfo6X+OtxypGt20vDDf7Ba+MJzjL3KS1og2nw2eBbLCOUTA== dependencies: coinstring "^2.0.0" safe-buffer "^5.1.1" @@ -9240,7 +9204,7 @@ inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, i version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" -inherits@2.0.1, inherits@=2.0.1: +inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" @@ -9268,19 +9232,6 @@ inline-style-prefixer@^3.0.8: bowser "^1.7.3" css-in-js-utils "^2.0.0" -inquirer@^0.8.2: - version "0.8.5" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.8.5.tgz#dbd740cf6ca3b731296a63ce6f6d961851f336df" - dependencies: - ansi-regex "^1.1.1" - chalk "^1.0.0" - cli-width "^1.0.1" - figures "^1.3.5" - lodash "^3.3.1" - readline2 "^0.1.1" - rx "^2.4.3" - through "^2.3.6" - inquirer@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" @@ -11283,33 +11234,20 @@ lodash.words@^3.0.0: dependencies: lodash._root "^3.0.0" -lodash@4.17.11, lodash@^4.0.0, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.3: +lodash@4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== -lodash@=4.17.4: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -lodash@^3.3.1, lodash@^3.6.0, lodash@^3.7.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" - -lodash@^4.14.0, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1: - version "4.17.5" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" - -lodash@^4.17.10: - version "4.17.10" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" - -lodash@^4.17.14: +lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== lodash@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" + integrity sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE= log-driver@^1.2.5: version "1.2.7" @@ -12083,10 +12021,6 @@ multipipe@^0.1.2: dependencies: duplexer2 "0.0.2" -mute-stream@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.4.tgz#a9219960a6d5d5d046597aee51252c6655f7177e" - mute-stream@0.0.7, mute-stream@~0.0.4: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -14052,15 +13986,15 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" -publish-release@0xproject/publish-release: +publish-release@0xproject/publish-release#1.3.3-fork-updated-deps: version "1.3.3" - resolved "https://codeload.github.com/0xproject/publish-release/tar.gz/c67c546726deecabd0cb35f9873afc912f862bd3" + resolved "https://codeload.github.com/0xproject/publish-release/tar.gz/3f8be1105a356527f4b362ff456d94bf9a82f2ed" dependencies: async "^0.9.0" ghauth "^2.0.0" github-url-to-object "^1.4.2" - inquirer "^0.8.2" - lodash "^3.6.0" + inquirer "^6.2.0" + lodash "^4.17.15" mime "^1.3.4" minimist "^1.1.1" pkginfo "^0.3.0" @@ -14270,6 +14204,13 @@ randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: dependencies: safe-buffer "^5.1.0" +randombytes@^2.0.6: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + randomfill@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" @@ -14867,13 +14808,6 @@ readdirp@^3.1.1: dependencies: picomatch "^2.0.4" -readline2@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-0.1.1.tgz#99443ba6e83b830ef3051bfd7dc241a82728d568" - dependencies: - mute-stream "0.0.4" - strip-ansi "^2.0.1" - realpath-native@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.2.tgz#cd51ce089b513b45cf9b1516c82989b51ccc6560" @@ -15536,10 +15470,6 @@ rx@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" -rx@^2.4.3: - version "2.5.3" - resolved "https://registry.yarnpkg.com/rx/-/rx-2.5.3.tgz#21adc7d80f02002af50dae97fd9dbf248755f566" - rxjs@^5.0.0-beta.11: version "5.5.11" resolved "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz#f733027ca43e3bec6b994473be4ab98ad43ced87" @@ -15629,21 +15559,26 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -scrypt-async@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/scrypt-async/-/scrypt-async-1.3.1.tgz#a11fd6fac981b4b823ee01dee0221169500ddae9" - scrypt-js@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" -scrypt.js@0.2.0, scrypt.js@^0.2.0: +scrypt.js@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/scrypt.js/-/scrypt.js-0.2.0.tgz#af8d1465b71e9990110bedfc593b9479e03a8ada" dependencies: scrypt "^6.0.2" scryptsy "^1.2.1" +scrypt.js@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/scrypt.js/-/scrypt.js-0.3.0.tgz#6c62d61728ad533c8c376a2e5e3e86d41a95c4c0" + integrity sha512-42LTc1nyFsyv/o0gcHtDztrn+aqpkaCNt5Qh7ATBZfhEZU7IC/0oT/qbBH+uRNoAPvs2fwiOId68FDEoSRA8/A== + dependencies: + scryptsy "^1.2.1" + optionalDependencies: + scrypt "^6.0.2" + scrypt@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/scrypt/-/scrypt-6.0.3.tgz#04e014a5682b53fa50c2d5cce167d719c06d870d" @@ -15893,7 +15828,7 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shell-quote@^1.4.3, shell-quote@^1.6.1: +shell-quote@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" dependencies: @@ -16528,12 +16463,6 @@ stringstream@~0.0.4, stringstream@~0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" -strip-ansi@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-2.0.1.tgz#df62c1aa94ed2f114e1d0f21fd1d50482b79a60e" - dependencies: - ansi-regex "^1.0.0" - strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -17368,14 +17297,20 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tweetnacl@0.13.2: - version "0.13.2" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.13.2.tgz#453161770469d45cd266c36404e2bc99a8fa9944" +tweetnacl-util@^0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.0.tgz#4576c1cee5e2d63d207fee52f1ba02819480bc75" + integrity sha1-RXbBzuXi1j0gf+5S8boCgZSAvHU= tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" +tweetnacl@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.1.tgz#2594d42da73cd036bd0d2a54683dd35a6b55ca17" + integrity sha512-kcoMoKTPYnoeS50tzoqjPY3Uv9axeuuFAZY9M/9zFnhoVvRfxz9K29IMPD7jGmt2c8SW7i3gT9WqDl2+nV7p4A== + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -17729,7 +17664,7 @@ unzip-response@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" -upath@^1.1.1: +upath@^1.1.0, upath@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" @@ -18421,16 +18356,6 @@ web3-utils@1.0.0-beta.35: underscore "1.8.3" utf8 "2.1.1" -web3@0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/web3/-/web3-0.20.2.tgz#c54dac5fc0e377399c04c1a6ecbb12e4513278d6" - dependencies: - bignumber.js "git+https://github.com/frozeman/bignumber.js-nolookahead.git" - crypto-js "^3.1.4" - utf8 "^2.1.1" - xhr2 "*" - xmlhttprequest "*" - web3@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3/-/web3-1.0.0-beta.35.tgz#6475095bd451a96e50a32b997ddee82279292f11" @@ -18708,10 +18633,6 @@ widest-line@^2.0.0: dependencies: string-width "^2.1.1" -window-size@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" - window-size@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" @@ -18980,7 +18901,7 @@ xtend@~2.1.1: dependencies: object-keys "~0.4.0" -y18n@^3.2.0, y18n@^3.2.1: +y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" @@ -19106,6 +19027,23 @@ yargs@12.0.2, yargs@^12.0.2: y18n "^3.2.1 || ^4.0.0" yargs-parser "^10.1.0" +yargs@12.0.5, yargs@^12.0.5: + version "12.0.5" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + dependencies: + cliui "^4.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^11.1.1" + yargs@13.2.2: version "13.2.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.2.tgz#0c101f580ae95cea7f39d927e7770e3fdc97f993" @@ -19173,35 +19111,6 @@ yargs@^12.0.1: y18n "^3.2.1 || ^4.0.0" yargs-parser "^10.1.0" -yargs@^12.0.5: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - dependencies: - cliui "^4.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^11.1.1" - -yargs@^3.7.2: - version "3.32.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" - dependencies: - camelcase "^2.0.1" - cliui "^3.0.3" - decamelize "^1.1.1" - os-locale "^1.4.0" - string-width "^1.0.1" - window-size "^0.1.4" - y18n "^3.2.0" - yargs@^4.7.1: version "4.8.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" From f560c2e66abadba9d8121afe8eb2b72b2c34621e Mon Sep 17 00:00:00 2001 From: fabioberger Date: Sat, 27 Jul 2019 14:52:10 +0200 Subject: [PATCH 037/162] stop exporting removed EthLightwalletSubprovider --- packages/subproviders/src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/subproviders/src/index.ts b/packages/subproviders/src/index.ts index ca89c43012..5b5c8b0847 100644 --- a/packages/subproviders/src/index.ts +++ b/packages/subproviders/src/index.ts @@ -28,7 +28,6 @@ export { NonceTrackerSubprovider } from './subproviders/nonce_tracker'; export { PrivateKeyWalletSubprovider } from './subproviders/private_key_wallet'; export { MnemonicWalletSubprovider } from './subproviders/mnemonic_wallet'; export { MetamaskSubprovider } from './subproviders/metamask_subprovider'; -export { EthLightwalletSubprovider } from './subproviders/eth_lightwallet_subprovider'; export { TrezorSubprovider } from './subproviders/trezor'; export { From 2eca95df00cc14faccd9e937bd8e37ec6d2158ec Mon Sep 17 00:00:00 2001 From: fabioberger Date: Sat, 27 Jul 2019 15:35:39 +0200 Subject: [PATCH 038/162] Fix version test --- packages/web3-wrapper/test/web3_wrapper_test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-wrapper/test/web3_wrapper_test.ts b/packages/web3-wrapper/test/web3_wrapper_test.ts index 45bee95e07..7bdce5d059 100644 --- a/packages/web3-wrapper/test/web3_wrapper_test.ts +++ b/packages/web3-wrapper/test/web3_wrapper_test.ts @@ -35,7 +35,7 @@ describe('Web3Wrapper tests', () => { describe('#getNodeVersionAsync', () => { it('gets the node version', async () => { const nodeVersion = await web3Wrapper.getNodeVersionAsync(); - const NODE_VERSION = 'EthereumJS TestRPC/v2.5.3/ethereum-js'; + const NODE_VERSION = 'EthereumJS TestRPC/v2.6.0/ethereum-js'; expect(nodeVersion).to.be.equal(NODE_VERSION); }); }); From f0b5616aba7c6405371edb75f3288946824cc7b1 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Sat, 27 Jul 2019 16:14:51 +0200 Subject: [PATCH 039/162] Use more explicit URL dep pinning to avoid yarn cache issue with Github deps --- packages/monorepo-scripts/package.json | 2 +- yarn.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/monorepo-scripts/package.json b/packages/monorepo-scripts/package.json index f1055cad8d..352d2fa59a 100644 --- a/packages/monorepo-scripts/package.json +++ b/packages/monorepo-scripts/package.json @@ -63,7 +63,7 @@ "opn": "^5.3.0", "promisify-child-process": "^1.0.5", "prompt": "^1.0.0", - "publish-release": "0xproject/publish-release#1.3.3-fork-updated-deps", + "publish-release": "https://github.com/0xProject/publish-release.git#3f8be1105a356527f4b362ff456d94bf9a82f2ed", "rimraf": "^2.6.2", "semver": "5.5.0", "semver-diff": "^2.1.0", diff --git a/yarn.lock b/yarn.lock index 6998858c1e..2f2042db25 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13986,9 +13986,9 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" -publish-release@0xproject/publish-release#1.3.3-fork-updated-deps: +"publish-release@https://github.com/0xProject/publish-release.git#3f8be1105a356527f4b362ff456d94bf9a82f2ed": version "1.3.3" - resolved "https://codeload.github.com/0xproject/publish-release/tar.gz/3f8be1105a356527f4b362ff456d94bf9a82f2ed" + resolved "https://github.com/0xProject/publish-release.git#3f8be1105a356527f4b362ff456d94bf9a82f2ed" dependencies: async "^0.9.0" ghauth "^2.0.0" From df746c5ff45490763251693360ba1a847d5861ab Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Thu, 25 Jul 2019 18:30:35 +0200 Subject: [PATCH 040/162] Decode log arguments in `awaitTransactionSuccessAsync`, when ABI is recognized. --- contracts/exchange/test/core.ts | 7 +- contracts/exchange/test/dispatcher.ts | 3 + contracts/exchange/test/internal.ts | 3 + contracts/exchange/test/match_orders.ts | 5 ++ .../exchange/test/signature_validator.ts | 6 ++ contracts/exchange/test/transactions.ts | 5 ++ .../test/utils/dependency_artifacts.ts | 9 ++ .../exchange/test/utils/exchange_wrapper.ts | 86 +++++++------------ .../utils/fill_order_combinatorial_utils.ts | 2 + contracts/exchange/test/wrapper.ts | 4 + .../abi-gen-templates/contract.handlebars | 12 ++- packages/base-contract/src/index.ts | 5 ++ 12 files changed, 87 insertions(+), 60 deletions(-) create mode 100644 contracts/exchange/test/utils/dependency_artifacts.ts diff --git a/contracts/exchange/test/core.ts b/contracts/exchange/test/core.ts index ab77c8eb54..c617db9e39 100644 --- a/contracts/exchange/test/core.ts +++ b/contracts/exchange/test/core.ts @@ -51,6 +51,8 @@ import { TestStaticCallReceiverContract, } from '../src'; +import { dependencyArtifacts } from './utils/dependency_artifacts'; + chaiSetup.configure(); const expect = chai.expect; const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); @@ -136,17 +138,20 @@ describe('Exchange core', () => { artifacts.Exchange, provider, txDefaults, + dependencyArtifacts, assetDataUtils.encodeERC20AssetData(zrxToken.address), ); maliciousWallet = maliciousValidator = await TestStaticCallReceiverContract.deployFrom0xArtifactAsync( artifacts.TestStaticCallReceiver, provider, txDefaults, + dependencyArtifacts, ); reentrantErc20Token = await ReentrantERC20TokenContract.deployFrom0xArtifactAsync( artifacts.ReentrantERC20Token, provider, txDefaults, + dependencyArtifacts, exchange.address, ); @@ -379,7 +384,7 @@ describe('Exchange core', () => { const initialTakerZrxBalance = await zrxToken.balanceOf.callAsync(takerAddress); const initialFeeRecipientZrxBalance = await zrxToken.balanceOf.callAsync(feeRecipientAddress); - await exchangeWrapper.fillOrderAsync(signedOrder, takerAddress); + const txReceipt = await exchangeWrapper.fillOrderAsync(signedOrder, takerAddress); const finalMakerBalanceA = await noReturnErc20Token.balanceOf.callAsync(makerAddress); const finalMakerBalanceB = await erc20TokenB.balanceOf.callAsync(makerAddress); diff --git a/contracts/exchange/test/dispatcher.ts b/contracts/exchange/test/dispatcher.ts index a257559365..08b1aa55a3 100644 --- a/contracts/exchange/test/dispatcher.ts +++ b/contracts/exchange/test/dispatcher.ts @@ -29,6 +29,8 @@ import { TestAssetProxyDispatcherContract, } from '../src'; +import { dependencyArtifacts } from './utils/dependency_artifacts'; + chaiSetup.configure(); const expect = chai.expect; const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); @@ -72,6 +74,7 @@ describe('AssetProxyDispatcher', () => { artifacts.TestAssetProxyDispatcher, provider, txDefaults, + dependencyArtifacts, ); await web3Wrapper.awaitTransactionSuccessAsync( await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(assetProxyDispatcher.address, { diff --git a/contracts/exchange/test/internal.ts b/contracts/exchange/test/internal.ts index 7a1e12a7a1..23ee456d41 100644 --- a/contracts/exchange/test/internal.ts +++ b/contracts/exchange/test/internal.ts @@ -18,6 +18,8 @@ import * as _ from 'lodash'; import { artifacts, TestExchangeInternalsContract } from '../src'; +import { dependencyArtifacts } from './utils/dependency_artifacts'; + chaiSetup.configure(); const expect = chai.expect; @@ -65,6 +67,7 @@ describe('Exchange core internal functions', () => { artifacts.TestExchangeInternals, provider, txDefaults, + dependencyArtifacts, ); overflowErrorForSendTransaction = new Error( await getRevertReasonOrErrorMessageForSendTransactionAsync(RevertReason.Uint256Overflow), diff --git a/contracts/exchange/test/match_orders.ts b/contracts/exchange/test/match_orders.ts index b749805379..05d7a3985b 100644 --- a/contracts/exchange/test/match_orders.ts +++ b/contracts/exchange/test/match_orders.ts @@ -29,6 +29,8 @@ import { TestExchangeInternalsContract, } from '../src'; +import { dependencyArtifacts } from './utils/dependency_artifacts'; + const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); chaiSetup.configure(); const expect = chai.expect; @@ -118,6 +120,7 @@ describe('matchOrders', () => { artifacts.Exchange, provider, txDefaults, + dependencyArtifacts, assetDataUtils.encodeERC20AssetData(zrxToken.address), ); exchangeWrapper = new ExchangeWrapper(exchange, provider); @@ -141,6 +144,7 @@ describe('matchOrders', () => { artifacts.ReentrantERC20Token, provider, txDefaults, + dependencyArtifacts, exchange.address, ); @@ -175,6 +179,7 @@ describe('matchOrders', () => { artifacts.TestExchangeInternals, provider, txDefaults, + dependencyArtifacts, ); }); beforeEach(async () => { diff --git a/contracts/exchange/test/signature_validator.ts b/contracts/exchange/test/signature_validator.ts index 33510e50c0..df41d2952f 100644 --- a/contracts/exchange/test/signature_validator.ts +++ b/contracts/exchange/test/signature_validator.ts @@ -25,6 +25,8 @@ import { WalletContract, } from '../src'; +import { dependencyArtifacts } from './utils/dependency_artifacts'; + chaiSetup.configure(); const expect = chai.expect; @@ -59,23 +61,27 @@ describe('MixinSignatureValidator', () => { artifacts.TestSignatureValidator, provider, txDefaults, + dependencyArtifacts, ); testWallet = await WalletContract.deployFrom0xArtifactAsync( artifacts.Wallet, provider, txDefaults, + dependencyArtifacts, signerAddress, ); testValidator = await ValidatorContract.deployFrom0xArtifactAsync( artifacts.Validator, provider, txDefaults, + dependencyArtifacts, signerAddress, ); maliciousWallet = maliciousValidator = await TestStaticCallReceiverContract.deployFrom0xArtifactAsync( artifacts.TestStaticCallReceiver, provider, txDefaults, + dependencyArtifacts, ); signatureValidatorLogDecoder = new LogDecoder(web3Wrapper, artifacts); await web3Wrapper.awaitTransactionSuccessAsync( diff --git a/contracts/exchange/test/transactions.ts b/contracts/exchange/test/transactions.ts index 4f8c075794..ee1b92ee74 100644 --- a/contracts/exchange/test/transactions.ts +++ b/contracts/exchange/test/transactions.ts @@ -21,6 +21,8 @@ import * as _ from 'lodash'; import { artifacts, ExchangeContract, ExchangeWrapper, ExchangeWrapperContract, WhitelistContract } from '../src/'; +import { dependencyArtifacts } from './utils/dependency_artifacts'; + chaiSetup.configure(); const expect = chai.expect; const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); @@ -87,6 +89,7 @@ describe('Exchange transactions', () => { artifacts.Exchange, provider, txDefaults, + dependencyArtifacts, assetDataUtils.encodeERC20AssetData(zrxToken.address), ); exchangeWrapper = new ExchangeWrapper(exchange, provider); @@ -219,6 +222,7 @@ describe('Exchange transactions', () => { artifacts.ExchangeWrapper, provider, txDefaults, + dependencyArtifacts, exchange.address, ); }); @@ -333,6 +337,7 @@ describe('Exchange transactions', () => { artifacts.Whitelist, provider, txDefaults, + dependencyArtifacts, exchange.address, ); const isApproved = true; diff --git a/contracts/exchange/test/utils/dependency_artifacts.ts b/contracts/exchange/test/utils/dependency_artifacts.ts new file mode 100644 index 0000000000..047e7c8eff --- /dev/null +++ b/contracts/exchange/test/utils/dependency_artifacts.ts @@ -0,0 +1,9 @@ +import { artifacts as erc1155Artifacts } from '@0x/contracts-erc1155'; +import { artifacts as erc20Artifacts } from '@0x/contracts-erc20'; +import { artifacts as erc721Artifacts } from '@0x/contracts-erc721'; + +export const dependencyArtifacts = { + ...erc20Artifacts, + ...erc721Artifacts, + ...erc1155Artifacts, +}; \ No newline at end of file diff --git a/contracts/exchange/test/utils/exchange_wrapper.ts b/contracts/exchange/test/utils/exchange_wrapper.ts index a06e35a462..f9bd120320 100644 --- a/contracts/exchange/test/utils/exchange_wrapper.ts +++ b/contracts/exchange/test/utils/exchange_wrapper.ts @@ -4,7 +4,6 @@ import { artifacts as erc721Artifacts } from '@0x/contracts-erc721'; import { FillResults, formatters, - LogDecoder, OrderInfo, orderUtils, Web3ProviderEngine, @@ -22,16 +21,9 @@ import { AbiDecodedFillOrderData } from './types'; export class ExchangeWrapper { private readonly _exchange: ExchangeContract; private readonly _web3Wrapper: Web3Wrapper; - private readonly _logDecoder: LogDecoder; constructor(exchangeContract: ExchangeContract, provider: Web3ProviderEngine | ZeroExProvider) { this._exchange = exchangeContract; this._web3Wrapper = new Web3Wrapper(provider); - this._logDecoder = new LogDecoder(this._web3Wrapper, { - ...artifacts, - ...erc20Artifacts, - ...erc721Artifacts, - ...erc1155Artifacts, - }); } public async fillOrderAsync( signedOrder: SignedOrder, @@ -39,20 +31,18 @@ export class ExchangeWrapper { opts: { takerAssetFillAmount?: BigNumber } = {}, ): Promise { const params = orderUtils.createFill(signedOrder, opts.takerAssetFillAmount); - const txHash = await this._exchange.fillOrder.sendTransactionAsync( + const txReceipt = await this._exchange.fillOrder.awaitTransactionSuccessAsync( params.order, params.takerAssetFillAmount, params.signature, { from }, ); - const txReceipt = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); return txReceipt; } public async cancelOrderAsync(signedOrder: SignedOrder, from: string): Promise { const params = orderUtils.createCancel(signedOrder); - const txHash = await this._exchange.cancelOrder.sendTransactionAsync(params.order, { from }); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + const txReceipt = await this._exchange.cancelOrder.awaitTransactionSuccessAsync(params.order, { from }); + return txReceipt; } public async fillOrKillOrderAsync( signedOrder: SignedOrder, @@ -60,14 +50,13 @@ export class ExchangeWrapper { opts: { takerAssetFillAmount?: BigNumber } = {}, ): Promise { const params = orderUtils.createFill(signedOrder, opts.takerAssetFillAmount); - const txHash = await this._exchange.fillOrKillOrder.sendTransactionAsync( + const txReceipt = await this._exchange.fillOrKillOrder.awaitTransactionSuccessAsync( params.order, params.takerAssetFillAmount, params.signature, { from }, ); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + return txReceipt; } public async fillOrderNoThrowAsync( signedOrder: SignedOrder, @@ -75,14 +64,13 @@ export class ExchangeWrapper { opts: { takerAssetFillAmount?: BigNumber; gas?: number } = {}, ): Promise { const params = orderUtils.createFill(signedOrder, opts.takerAssetFillAmount); - const txHash = await this._exchange.fillOrderNoThrow.sendTransactionAsync( + const txReceipt = await this._exchange.fillOrderNoThrow.awaitTransactionSuccessAsync( params.order, params.takerAssetFillAmount, params.signature, { from, gas: opts.gas }, ); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + return txReceipt; } public async batchFillOrdersAsync( orders: SignedOrder[], @@ -90,14 +78,13 @@ export class ExchangeWrapper { opts: { takerAssetFillAmounts?: BigNumber[] } = {}, ): Promise { const params = formatters.createBatchFill(orders, opts.takerAssetFillAmounts); - const txHash = await this._exchange.batchFillOrders.sendTransactionAsync( + const txReceipt = await this._exchange.batchFillOrders.awaitTransactionSuccessAsync( params.orders, params.takerAssetFillAmounts, params.signatures, { from }, ); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + return txReceipt; } public async batchFillOrKillOrdersAsync( orders: SignedOrder[], @@ -105,14 +92,13 @@ export class ExchangeWrapper { opts: { takerAssetFillAmounts?: BigNumber[] } = {}, ): Promise { const params = formatters.createBatchFill(orders, opts.takerAssetFillAmounts); - const txHash = await this._exchange.batchFillOrKillOrders.sendTransactionAsync( + const txReceipt = await this._exchange.batchFillOrKillOrders.awaitTransactionSuccessAsync( params.orders, params.takerAssetFillAmounts, params.signatures, { from }, ); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + return txReceipt; } public async batchFillOrdersNoThrowAsync( orders: SignedOrder[], @@ -120,14 +106,13 @@ export class ExchangeWrapper { opts: { takerAssetFillAmounts?: BigNumber[]; gas?: number } = {}, ): Promise { const params = formatters.createBatchFill(orders, opts.takerAssetFillAmounts); - const txHash = await this._exchange.batchFillOrdersNoThrow.sendTransactionAsync( + const txReceipt = await this._exchange.batchFillOrdersNoThrow.awaitTransactionSuccessAsync( params.orders, params.takerAssetFillAmounts, params.signatures, { from, gas: opts.gas }, ); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + return txReceipt; } public async marketSellOrdersAsync( orders: SignedOrder[], @@ -135,14 +120,13 @@ export class ExchangeWrapper { opts: { takerAssetFillAmount: BigNumber }, ): Promise { const params = formatters.createMarketSellOrders(orders, opts.takerAssetFillAmount); - const txHash = await this._exchange.marketSellOrders.sendTransactionAsync( + const txReceipt = await this._exchange.marketSellOrders.awaitTransactionSuccessAsync( params.orders, params.takerAssetFillAmount, params.signatures, { from }, ); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + return txReceipt; } public async marketSellOrdersNoThrowAsync( orders: SignedOrder[], @@ -150,14 +134,13 @@ export class ExchangeWrapper { opts: { takerAssetFillAmount: BigNumber; gas?: number }, ): Promise { const params = formatters.createMarketSellOrders(orders, opts.takerAssetFillAmount); - const txHash = await this._exchange.marketSellOrdersNoThrow.sendTransactionAsync( + const txReceipt = await this._exchange.marketSellOrdersNoThrow.awaitTransactionSuccessAsync( params.orders, params.takerAssetFillAmount, params.signatures, { from, gas: opts.gas }, ); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + return txReceipt; } public async marketBuyOrdersAsync( orders: SignedOrder[], @@ -165,14 +148,13 @@ export class ExchangeWrapper { opts: { makerAssetFillAmount: BigNumber }, ): Promise { const params = formatters.createMarketBuyOrders(orders, opts.makerAssetFillAmount); - const txHash = await this._exchange.marketBuyOrders.sendTransactionAsync( + const txReceipt = await this._exchange.marketBuyOrders.awaitTransactionSuccessAsync( params.orders, params.makerAssetFillAmount, params.signatures, { from }, ); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + return txReceipt; } public async marketBuyOrdersNoThrowAsync( orders: SignedOrder[], @@ -180,50 +162,45 @@ export class ExchangeWrapper { opts: { makerAssetFillAmount: BigNumber; gas?: number }, ): Promise { const params = formatters.createMarketBuyOrders(orders, opts.makerAssetFillAmount); - const txHash = await this._exchange.marketBuyOrdersNoThrow.sendTransactionAsync( + const txReceipt = await this._exchange.marketBuyOrdersNoThrow.awaitTransactionSuccessAsync( params.orders, params.makerAssetFillAmount, params.signatures, { from, gas: opts.gas }, ); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + return txReceipt; } public async batchCancelOrdersAsync( orders: SignedOrder[], from: string, ): Promise { const params = formatters.createBatchCancel(orders); - const txHash = await this._exchange.batchCancelOrders.sendTransactionAsync(params.orders, { from }); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + const txReceipt = await this._exchange.batchCancelOrders.awaitTransactionSuccessAsync(params.orders, { from }); + return txReceipt; } public async cancelOrdersUpToAsync(salt: BigNumber, from: string): Promise { - const txHash = await this._exchange.cancelOrdersUpTo.sendTransactionAsync(salt, { from }); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + const txReceipt = await this._exchange.cancelOrdersUpTo.awaitTransactionSuccessAsync(salt, { from }); + return txReceipt; } public async registerAssetProxyAsync( assetProxyAddress: string, from: string, ): Promise { - const txHash = await this._exchange.registerAssetProxy.sendTransactionAsync(assetProxyAddress, { from }); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + const txReceipt = await this._exchange.registerAssetProxy.awaitTransactionSuccessAsync(assetProxyAddress, { from }); + return txReceipt; } public async executeTransactionAsync( signedTx: SignedZeroExTransaction, from: string, ): Promise { - const txHash = await this._exchange.executeTransaction.sendTransactionAsync( + const txReceipt = await this._exchange.executeTransaction.awaitTransactionSuccessAsync( signedTx.salt, signedTx.signerAddress, signedTx.data, signedTx.signature, { from }, ); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + return txReceipt; } public async getTakerAssetFilledAmountAsync(orderHashHex: string): Promise { const filledAmount = await this._exchange.filled.callAsync(orderHashHex); @@ -251,15 +228,14 @@ export class ExchangeWrapper { from: string, ): Promise { const params = orderUtils.createMatchOrders(signedOrderLeft, signedOrderRight); - const txHash = await this._exchange.matchOrders.sendTransactionAsync( + const txReceipt = await this._exchange.matchOrders.awaitTransactionSuccessAsync( params.left, params.right, params.leftSignature, params.rightSignature, { from }, ); - const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); - return tx; + return txReceipt; } public async getFillOrderResultsAsync( signedOrder: SignedOrder, diff --git a/contracts/exchange/test/utils/fill_order_combinatorial_utils.ts b/contracts/exchange/test/utils/fill_order_combinatorial_utils.ts index a15b27e12b..a42511ad3a 100644 --- a/contracts/exchange/test/utils/fill_order_combinatorial_utils.ts +++ b/contracts/exchange/test/utils/fill_order_combinatorial_utils.ts @@ -37,6 +37,7 @@ import 'make-promises-safe'; import { artifacts, ExchangeContract, ExchangeFillEventArgs } from '../../src'; import { AssetWrapper } from './asset_wrapper'; +import { dependencyArtifacts } from './dependency_artifacts'; import { ExchangeWrapper } from './exchange_wrapper'; import { OrderFactoryFromScenario } from './order_factory_from_scenario'; import { SimpleAssetBalanceAndProxyAllowanceFetcher } from './simple_asset_balance_and_proxy_allowance_fetcher'; @@ -101,6 +102,7 @@ export async function fillOrderCombinatorialUtilsFactoryAsync( artifacts.Exchange, provider, txDefaults, + dependencyArtifacts, zrxAssetData, ); const exchangeWrapper = new ExchangeWrapper(exchangeContract, provider); diff --git a/contracts/exchange/test/wrapper.ts b/contracts/exchange/test/wrapper.ts index 573591b1b5..ab2af0cc76 100644 --- a/contracts/exchange/test/wrapper.ts +++ b/contracts/exchange/test/wrapper.ts @@ -24,6 +24,8 @@ import * as _ from 'lodash'; import { artifacts, ExchangeContract, ExchangeWrapper, ReentrantERC20TokenContract } from '../src'; +import { dependencyArtifacts } from './utils/dependency_artifacts'; + chaiSetup.configure(); const expect = chai.expect; const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); @@ -87,6 +89,7 @@ describe('Exchange wrappers', () => { artifacts.Exchange, provider, txDefaults, + dependencyArtifacts, assetDataUtils.encodeERC20AssetData(zrxToken.address), ); exchangeWrapper = new ExchangeWrapper(exchange, provider); @@ -110,6 +113,7 @@ describe('Exchange wrappers', () => { artifacts.ReentrantERC20Token, provider, txDefaults, + dependencyArtifacts, exchange.address, ); diff --git a/packages/abi-gen-templates/contract.handlebars b/packages/abi-gen-templates/contract.handlebars index 78c5e47d89..61375cb0a0 100644 --- a/packages/abi-gen-templates/contract.handlebars +++ b/packages/abi-gen-templates/contract.handlebars @@ -26,6 +26,7 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable {{#if events}} @@ -63,6 +64,7 @@ export class {{contractName}}Contract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, {{> typed_params inputs=ctor.inputs}} ): Promise<{{contractName}}Contract> { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -76,13 +78,15 @@ export class {{contractName}}Contract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return {{contractName}}Contract.deployAsync(bytecode, abi, provider, txDefaults, {{> params inputs=ctor.inputs}}); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return {{contractName}}Contract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, {{> params inputs=ctor.inputs}}); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, {{> typed_params inputs=ctor.inputs}} ): Promise<{{contractName}}Contract> { assert.isHexString('bytecode', bytecode); @@ -111,7 +115,7 @@ export class {{contractName}}Contract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`{{contractName}} successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new {{contractName}}Contract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new {{contractName}}Contract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = [{{> params inputs=ctor.inputs}}]; return contractInstance; } @@ -213,8 +217,8 @@ export class {{contractName}}Contract extends BaseContract { ); return logs; }{{/if}} - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('{{contractName}}', {{contractName}}Contract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('{{contractName}}', {{contractName}}Contract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']);{{#if events}} this._subscriptionManager = new SubscriptionManager<{{contractName}}EventArgs, {{contractName}}Events>( {{contractName}}Contract.ABI(), diff --git a/packages/base-contract/src/index.ts b/packages/base-contract/src/index.ts index cf7dffede3..1e79cae696 100644 --- a/packages/base-contract/src/index.ts +++ b/packages/base-contract/src/index.ts @@ -186,6 +186,7 @@ export class BaseContract { address: string, supportedProvider: SupportedProvider, callAndTxnDefaults?: Partial, + abiDependencies?: { [contractName: string]: ContractAbi }, ) { assert.isString('contractName', contractName); assert.isETHAddressHex('address', address); @@ -209,6 +210,10 @@ export class BaseContract { const abiEncoder = new AbiEncoder.Method(methodAbi); const functionSignature = abiEncoder.getSignature(); this._abiEncoderByFunctionSignature[functionSignature] = abiEncoder; + this._web3Wrapper.abiDecoder.addABI(abi, contractName); + }); + _.each(abiDependencies, (abi, name) => { + this._web3Wrapper.abiDecoder.addABI(abi, name); }); } } From d8cf9d54aa96ddac5f3f2ba7cc61c51fee36f315 Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Fri, 26 Jul 2019 17:51:52 +0200 Subject: [PATCH 041/162] Updated all instances of `deployFrom0xArtifactAsync` --- contracts/asset-proxy/test/authorizable.ts | 1 + contracts/asset-proxy/test/erc1155_proxy.ts | 3 +- contracts/asset-proxy/test/proxies.ts | 4 + .../asset-proxy/test/static_call_proxy.ts | 2 + .../test/utils/erc1155_proxy_wrapper.ts | 2 + .../asset-proxy/test/utils/erc20_wrapper.ts | 2 + .../asset-proxy/test/utils/erc721_wrapper.ts | 2 + contracts/coordinator/test/coordinator.ts | 2 + contracts/coordinator/test/libs.ts | 1 + contracts/coordinator/test/mixins.ts | 1 + .../utils/coordinator_registry_wrapper.ts | 1 + contracts/dev-utils/test/lib_asset_data.ts | 11 + .../dev-utils/test/lib_transaction_decoder.ts | 1 + .../dev-utils/test/order_validation_utils.ts | 3 + contracts/erc1155/test/erc1155_token.ts | 2 + .../erc20/test/unlimited_allowance_token.ts | 1 + contracts/erc20/test/weth9.ts | 13 +- contracts/erc20/test/zrx_token.ts | 7 +- contracts/erc721/test/erc721_token.ts | 6 + .../exchange-forwarder/test/forwarder.ts | 12 +- contracts/exchange-libs/test/exchange_libs.ts | 2 +- contracts/exchange/test/core.ts | 6 +- contracts/exchange/test/dispatcher.ts | 1 + .../test/utils/dependency_artifacts.ts | 2 +- .../exchange/test/utils/exchange_wrapper.ts | 18 +- .../utils/fill_order_combinatorial_utils.ts | 1 + .../test/balance_threshold_filter.ts | 3 + contracts/extensions/test/dutch_auction.ts | 4 +- contracts/extensions/test/order_matcher.ts | 8 + contracts/multisig/test/asset_proxy_owner.ts | 5 + .../multisig/test/multi_sig_with_time_lock.ts | 6 + contracts/utils/test/lib_address_array.ts | 1 + contracts/utils/test/lib_bytes.ts | 7 +- contracts/utils/test/libs.ts | 1 + .../generated-wrappers/asset_proxy_owner.ts | 2332 ++++---- .../src/generated-wrappers/coordinator.ts | 610 +- .../coordinator_registry.ts | 234 +- .../generated-wrappers/dummy_erc20_token.ts | 1278 ++-- .../generated-wrappers/dummy_erc721_token.ts | 1622 +++--- .../src/generated-wrappers/dutch_auction.ts | 664 +-- .../src/generated-wrappers/erc20_proxy.ts | 809 +-- .../src/generated-wrappers/erc20_token.ts | 631 +- .../src/generated-wrappers/erc721_proxy.ts | 809 +-- .../src/generated-wrappers/erc721_token.ts | 1055 ++-- .../generated-wrappers/eth_balance_checker.ts | 60 +- .../src/generated-wrappers/exchange.ts | 5170 +++++++---------- .../src/generated-wrappers/forwarder.ts | 1293 ++--- .../src/generated-wrappers/i_asset_proxy.ts | 893 +-- .../src/generated-wrappers/i_validator.ts | 70 +- .../src/generated-wrappers/i_wallet.ts | 62 +- .../generated-wrappers/multi_asset_proxy.ts | 1021 ++-- .../src/generated-wrappers/order_validator.ts | 558 +- .../src/generated-wrappers/weth9.ts | 1016 ++-- .../src/generated-wrappers/zrx_token.ts | 720 +-- .../test/abi_gen_dummy_test.ts | 14 +- packages/base-contract/src/index.ts | 4 +- .../test/exchange_wrapper_test.ts | 2 + packages/migrations/src/migration.ts | 20 +- .../test/exchange_transfer_simulator_test.ts | 2 + 59 files changed, 10373 insertions(+), 10718 deletions(-) diff --git a/contracts/asset-proxy/test/authorizable.ts b/contracts/asset-proxy/test/authorizable.ts index ccceb0862a..d86c5d9579 100644 --- a/contracts/asset-proxy/test/authorizable.ts +++ b/contracts/asset-proxy/test/authorizable.ts @@ -37,6 +37,7 @@ describe('Authorizable', () => { artifacts.MixinAuthorizable, provider, txDefaults, + artifacts, ); }); beforeEach(async () => { diff --git a/contracts/asset-proxy/test/erc1155_proxy.ts b/contracts/asset-proxy/test/erc1155_proxy.ts index 5048af635c..4e1730af32 100644 --- a/contracts/asset-proxy/test/erc1155_proxy.ts +++ b/contracts/asset-proxy/test/erc1155_proxy.ts @@ -23,7 +23,7 @@ import { LogWithDecodedArgs } from 'ethereum-types'; import * as ethUtil from 'ethereumjs-util'; import * as _ from 'lodash'; -import { ERC1155ProxyContract, ERC1155ProxyWrapper } from '../src'; +import { artifacts, ERC1155ProxyContract, ERC1155ProxyWrapper } from '../src'; chaiSetup.configure(); const expect = chai.expect; @@ -89,6 +89,7 @@ describe('ERC1155Proxy', () => { erc1155Artifacts.DummyERC1155Receiver, provider, txDefaults, + artifacts, ); receiverContract = erc1155Receiver.address; await erc1155ProxyWrapper.setBalancesAndAllowancesAsync(); diff --git a/contracts/asset-proxy/test/proxies.ts b/contracts/asset-proxy/test/proxies.ts index f6c21e7699..aba9e08071 100644 --- a/contracts/asset-proxy/test/proxies.ts +++ b/contracts/asset-proxy/test/proxies.ts @@ -101,6 +101,7 @@ describe('Asset Transfer Proxies', () => { artifacts.MultiAssetProxy, provider, txDefaults, + artifacts, ); // Configure ERC20Proxy @@ -173,6 +174,7 @@ describe('Asset Transfer Proxies', () => { erc20Artifacts.DummyNoReturnERC20Token, provider, txDefaults, + artifacts, constants.DUMMY_TOKEN_NAME, constants.DUMMY_TOKEN_SYMBOL, constants.DUMMY_TOKEN_DECIMALS, @@ -182,6 +184,7 @@ describe('Asset Transfer Proxies', () => { erc20Artifacts.DummyMultipleReturnERC20Token, provider, txDefaults, + artifacts, constants.DUMMY_TOKEN_NAME, constants.DUMMY_TOKEN_SYMBOL, constants.DUMMY_TOKEN_DECIMALS, @@ -224,6 +227,7 @@ describe('Asset Transfer Proxies', () => { erc721Artifacts.DummyERC721Receiver, provider, txDefaults, + artifacts, ); await erc721Wrapper.setBalancesAndAllowancesAsync(); diff --git a/contracts/asset-proxy/test/static_call_proxy.ts b/contracts/asset-proxy/test/static_call_proxy.ts index 36f38785a2..a1cf95a4d3 100644 --- a/contracts/asset-proxy/test/static_call_proxy.ts +++ b/contracts/asset-proxy/test/static_call_proxy.ts @@ -41,12 +41,14 @@ describe('StaticCallProxy', () => { artifacts.StaticCallProxy, provider, txDefaults, + artifacts, ); staticCallProxy = new IAssetProxyContract(staticCallProxyWithoutTransferFrom.address, provider, txDefaults); staticCallTarget = await TestStaticCallTargetContract.deployFrom0xArtifactAsync( artifacts.TestStaticCallTarget, provider, txDefaults, + artifacts, ); }); beforeEach(async () => { diff --git a/contracts/asset-proxy/test/utils/erc1155_proxy_wrapper.ts b/contracts/asset-proxy/test/utils/erc1155_proxy_wrapper.ts index 294fbada5b..d770027f5c 100644 --- a/contracts/asset-proxy/test/utils/erc1155_proxy_wrapper.ts +++ b/contracts/asset-proxy/test/utils/erc1155_proxy_wrapper.ts @@ -54,6 +54,7 @@ export class ERC1155ProxyWrapper { erc1155Artifacts.ERC1155Mintable, this._provider, txDefaults, + artifacts, ); const erc1155Wrapper = new Erc1155Wrapper(erc1155Contract, this._provider, this._contractOwnerAddress); this._dummyTokenWrappers.push(erc1155Wrapper); @@ -69,6 +70,7 @@ export class ERC1155ProxyWrapper { artifacts.ERC1155Proxy, this._provider, txDefaults, + artifacts, ); this._proxyIdIfExists = await this._proxyContract.getProxyId.callAsync(); return this._proxyContract; diff --git a/contracts/asset-proxy/test/utils/erc20_wrapper.ts b/contracts/asset-proxy/test/utils/erc20_wrapper.ts index 2bb1702222..8fdd210b24 100644 --- a/contracts/asset-proxy/test/utils/erc20_wrapper.ts +++ b/contracts/asset-proxy/test/utils/erc20_wrapper.ts @@ -37,6 +37,7 @@ export class ERC20Wrapper { erc20Artifacts.DummyERC20Token, this._provider, txDefaults, + artifacts, constants.DUMMY_TOKEN_NAME, constants.DUMMY_TOKEN_SYMBOL, decimals, @@ -51,6 +52,7 @@ export class ERC20Wrapper { artifacts.ERC20Proxy, this._provider, txDefaults, + artifacts, ); this._proxyIdIfExists = await this._proxyContract.getProxyId.callAsync(); return this._proxyContract; diff --git a/contracts/asset-proxy/test/utils/erc721_wrapper.ts b/contracts/asset-proxy/test/utils/erc721_wrapper.ts index b52d54d7d7..4f34db29d3 100644 --- a/contracts/asset-proxy/test/utils/erc721_wrapper.ts +++ b/contracts/asset-proxy/test/utils/erc721_wrapper.ts @@ -29,6 +29,7 @@ export class ERC721Wrapper { erc721Artifacts.DummyERC721Token, this._provider, txDefaults, + artifacts, constants.DUMMY_TOKEN_NAME, constants.DUMMY_TOKEN_SYMBOL, ), @@ -41,6 +42,7 @@ export class ERC721Wrapper { artifacts.ERC721Proxy, this._provider, txDefaults, + artifacts, ); this._proxyIdIfExists = await this._proxyContract.getProxyId.callAsync(); return this._proxyContract; diff --git a/contracts/coordinator/test/coordinator.ts b/contracts/coordinator/test/coordinator.ts index 912d48d922..a76fa574f5 100644 --- a/contracts/coordinator/test/coordinator.ts +++ b/contracts/coordinator/test/coordinator.ts @@ -74,6 +74,7 @@ describe('Coordinator tests', () => { exchangeArtifacts.Exchange, provider, txDefaults, + artifacts, assetDataUtils.encodeERC20AssetData(zrxToken.address), ); @@ -91,6 +92,7 @@ describe('Coordinator tests', () => { artifacts.Coordinator, provider, txDefaults, + artifacts, exchange.address, ); diff --git a/contracts/coordinator/test/libs.ts b/contracts/coordinator/test/libs.ts index 8c08f0ec59..df1dbbf8c3 100644 --- a/contracts/coordinator/test/libs.ts +++ b/contracts/coordinator/test/libs.ts @@ -25,6 +25,7 @@ describe('Libs tests', () => { artifacts.Coordinator, provider, txDefaults, + artifacts, exchangeAddress, ); }); diff --git a/contracts/coordinator/test/mixins.ts b/contracts/coordinator/test/mixins.ts index a500333048..9ccf2d28f8 100644 --- a/contracts/coordinator/test/mixins.ts +++ b/contracts/coordinator/test/mixins.ts @@ -44,6 +44,7 @@ describe('Mixins tests', () => { artifacts.Coordinator, provider, txDefaults, + artifacts, exchangeAddress, ); const accounts = await web3Wrapper.getAvailableAddressesAsync(); diff --git a/contracts/coordinator/test/utils/coordinator_registry_wrapper.ts b/contracts/coordinator/test/utils/coordinator_registry_wrapper.ts index 3c80714225..3d7a2999ef 100644 --- a/contracts/coordinator/test/utils/coordinator_registry_wrapper.ts +++ b/contracts/coordinator/test/utils/coordinator_registry_wrapper.ts @@ -24,6 +24,7 @@ export class CoordinatorRegistryWrapper { artifacts.CoordinatorRegistry, this._provider, txDefaults, + artifacts, ); if (this._coordinatorRegistryContract === undefined) { throw new Error(`Failed to deploy Coordinator Registry contract.`); diff --git a/contracts/dev-utils/test/lib_asset_data.ts b/contracts/dev-utils/test/lib_asset_data.ts index 0276fb5f75..7c7d0deb6f 100644 --- a/contracts/dev-utils/test/lib_asset_data.ts +++ b/contracts/dev-utils/test/lib_asset_data.ts @@ -92,6 +92,7 @@ describe('LibAssetData', () => { exchangeArtifacts.Exchange, provider, txDefaults, + artifacts, constants.NULL_BYTES, ); @@ -99,26 +100,31 @@ describe('LibAssetData', () => { proxyArtifacts.ERC20Proxy, provider, txDefaults, + artifacts, ); erc721Proxy = await ERC721ProxyContract.deployFrom0xArtifactAsync( proxyArtifacts.ERC721Proxy, provider, txDefaults, + artifacts, ); erc1155Proxy = await ERC1155ProxyContract.deployFrom0xArtifactAsync( proxyArtifacts.ERC1155Proxy, provider, txDefaults, + artifacts, ); multiAssetProxy = await MultiAssetProxyContract.deployFrom0xArtifactAsync( proxyArtifacts.MultiAssetProxy, provider, txDefaults, + artifacts, ); staticCallProxy = await StaticCallProxyContract.deployFrom0xArtifactAsync( proxyArtifacts.StaticCallProxy, provider, txDefaults, + artifacts, ); await exchange.registerAssetProxy.awaitTransactionSuccessAsync(erc20Proxy.address); @@ -131,6 +137,7 @@ describe('LibAssetData', () => { artifacts.LibAssetData, provider, txDefaults, + artifacts, exchange.address, ); @@ -138,6 +145,7 @@ describe('LibAssetData', () => { proxyArtifacts.TestStaticCallTarget, provider, txDefaults, + artifacts, ); [tokenOwnerAddress] = await web3Wrapper.getAvailableAddressesAsync(); @@ -146,6 +154,7 @@ describe('LibAssetData', () => { erc20Artifacts.DummyERC20Token, provider, txDefaults, + artifacts, 'Dummy', 'DUM', new BigNumber(1), @@ -156,6 +165,7 @@ describe('LibAssetData', () => { erc721Artifacts.DummyERC721Token, provider, txDefaults, + artifacts, 'Dummy', 'DUM', ); @@ -172,6 +182,7 @@ describe('LibAssetData', () => { erc1155Artifacts.ERC1155Mintable, provider, txDefaults, + artifacts, ); const logDecoder = new LogDecoder(web3Wrapper, erc1155Artifacts); diff --git a/contracts/dev-utils/test/lib_transaction_decoder.ts b/contracts/dev-utils/test/lib_transaction_decoder.ts index 3719574aa3..9cde98881a 100644 --- a/contracts/dev-utils/test/lib_transaction_decoder.ts +++ b/contracts/dev-utils/test/lib_transaction_decoder.ts @@ -37,6 +37,7 @@ describe('LibTransactionDecoder', () => { artifacts.LibTransactionDecoder, provider, txDefaults, + artifacts, ); }); after(async () => { diff --git a/contracts/dev-utils/test/order_validation_utils.ts b/contracts/dev-utils/test/order_validation_utils.ts index d03cefc18e..28ac3196a0 100644 --- a/contracts/dev-utils/test/order_validation_utils.ts +++ b/contracts/dev-utils/test/order_validation_utils.ts @@ -83,6 +83,7 @@ describe('OrderValidationUtils', () => { exchangeArtifacts.Exchange, provider, txDefaults, + artifacts, zrxAssetData, ); @@ -90,6 +91,7 @@ describe('OrderValidationUtils', () => { proxyArtifacts.MultiAssetProxy, provider, txDefaults, + artifacts, ); const exchangeWrapper = new ExchangeWrapper(exchange, provider); await exchangeWrapper.registerAssetProxyAsync(erc20Proxy.address, owner); @@ -102,6 +104,7 @@ describe('OrderValidationUtils', () => { artifacts.DevUtils, provider, txDefaults, + artifacts, exchange.address, zrxAssetData, ); diff --git a/contracts/erc1155/test/erc1155_token.ts b/contracts/erc1155/test/erc1155_token.ts index d948c6c86c..858eb17548 100644 --- a/contracts/erc1155/test/erc1155_token.ts +++ b/contracts/erc1155/test/erc1155_token.ts @@ -60,11 +60,13 @@ describe('ERC1155Token', () => { artifacts.ERC1155Mintable, provider, txDefaults, + artifacts, ); erc1155Receiver = await DummyERC1155ReceiverContract.deployFrom0xArtifactAsync( artifacts.DummyERC1155Receiver, provider, txDefaults, + artifacts, ); receiver = erc1155Receiver.address; // create wrapper & mint erc1155 tokens diff --git a/contracts/erc20/test/unlimited_allowance_token.ts b/contracts/erc20/test/unlimited_allowance_token.ts index f0b8e53a46..b9d4bd4296 100644 --- a/contracts/erc20/test/unlimited_allowance_token.ts +++ b/contracts/erc20/test/unlimited_allowance_token.ts @@ -37,6 +37,7 @@ describe('UnlimitedAllowanceToken', () => { artifacts.DummyERC20Token, provider, txDefaults, + artifacts, constants.DUMMY_TOKEN_NAME, constants.DUMMY_TOKEN_SYMBOL, constants.DUMMY_TOKEN_DECIMALS, diff --git a/contracts/erc20/test/weth9.ts b/contracts/erc20/test/weth9.ts index 6a3948e2c3..1fc73e5294 100644 --- a/contracts/erc20/test/weth9.ts +++ b/contracts/erc20/test/weth9.ts @@ -33,10 +33,15 @@ describe('EtherToken', () => { const accounts = await web3Wrapper.getAvailableAddressesAsync(); account = accounts[0]; - etherToken = await WETH9Contract.deployFrom0xArtifactAsync(artifacts.WETH9, provider, { - gasPrice, - ...txDefaults, - }); + etherToken = await WETH9Contract.deployFrom0xArtifactAsync( + artifacts.WETH9, + provider, + { + gasPrice, + ...txDefaults, + }, + artifacts, + ); }); beforeEach(async () => { await blockchainLifecycle.startAsync(); diff --git a/contracts/erc20/test/zrx_token.ts b/contracts/erc20/test/zrx_token.ts index 820b054e6b..a148fc0d85 100644 --- a/contracts/erc20/test/zrx_token.ts +++ b/contracts/erc20/test/zrx_token.ts @@ -26,7 +26,12 @@ describe('ZRXToken', () => { const accounts = await web3Wrapper.getAvailableAddressesAsync(); owner = accounts[0]; spender = accounts[1]; - zrxToken = await ZRXTokenContract.deployFrom0xArtifactAsync(artifacts.ZRXToken, provider, txDefaults); + zrxToken = await ZRXTokenContract.deployFrom0xArtifactAsync( + artifacts.ZRXToken, + provider, + txDefaults, + artifacts, + ); MAX_UINT = constants.UNLIMITED_ALLOWANCE_IN_BASE_UNITS; }); beforeEach(async () => { diff --git a/contracts/erc721/test/erc721_token.ts b/contracts/erc721/test/erc721_token.ts index 13332cd35c..b3c0ba4141 100644 --- a/contracts/erc721/test/erc721_token.ts +++ b/contracts/erc721/test/erc721_token.ts @@ -48,6 +48,7 @@ describe('ERC721Token', () => { artifacts.DummyERC721Token, provider, txDefaults, + artifacts, constants.DUMMY_TOKEN_NAME, constants.DUMMY_TOKEN_SYMBOL, ); @@ -55,6 +56,7 @@ describe('ERC721Token', () => { artifacts.DummyERC721Receiver, provider, txDefaults, + artifacts, ); logDecoder = new LogDecoder(web3Wrapper, artifacts); await web3Wrapper.awaitTransactionSuccessAsync( @@ -176,6 +178,7 @@ describe('ERC721Token', () => { artifacts.DummyERC721Token, provider, txDefaults, + artifacts, constants.DUMMY_TOKEN_NAME, constants.DUMMY_TOKEN_SYMBOL, ); @@ -190,6 +193,7 @@ describe('ERC721Token', () => { artifacts.InvalidERC721Receiver, provider, txDefaults, + artifacts, ); const from = owner; const to = invalidErc721Receiver.address; @@ -237,6 +241,7 @@ describe('ERC721Token', () => { artifacts.DummyERC721Token, provider, txDefaults, + artifacts, constants.DUMMY_TOKEN_NAME, constants.DUMMY_TOKEN_SYMBOL, ); @@ -251,6 +256,7 @@ describe('ERC721Token', () => { artifacts.InvalidERC721Receiver, provider, txDefaults, + artifacts, ); const from = owner; const to = invalidErc721Receiver.address; diff --git a/contracts/exchange-forwarder/test/forwarder.ts b/contracts/exchange-forwarder/test/forwarder.ts index 1c518c141b..7f418c0770 100644 --- a/contracts/exchange-forwarder/test/forwarder.ts +++ b/contracts/exchange-forwarder/test/forwarder.ts @@ -32,6 +32,7 @@ const DECIMALS_DEFAULT = 18; const MAX_WETH_FILL_PERCENTAGE = 95; describe(ContractName.Forwarder, () => { + const dependencyArtifacts = { ...artifacts, ...erc20Artifacts, ...exchangeArtifacts }; let makerAddress: string; let owner: string; let takerAddress: string; @@ -88,7 +89,12 @@ describe(ContractName.Forwarder, () => { const erc721Balances = await erc721Wrapper.getBalancesAsync(); erc721MakerAssetIds = erc721Balances[makerAddress][erc721Token.address]; - wethContract = await WETH9Contract.deployFrom0xArtifactAsync(erc20Artifacts.WETH9, provider, txDefaults); + wethContract = await WETH9Contract.deployFrom0xArtifactAsync( + erc20Artifacts.WETH9, + provider, + txDefaults, + dependencyArtifacts, + ); weth = new DummyERC20TokenContract(wethContract.address, provider); erc20Wrapper.addDummyTokenContract(weth); @@ -98,6 +104,7 @@ describe(ContractName.Forwarder, () => { exchangeArtifacts.Exchange, provider, txDefaults, + dependencyArtifacts, zrxAssetData, ); exchangeWrapper = new ExchangeWrapper(exchangeInstance, provider); @@ -131,6 +138,7 @@ describe(ContractName.Forwarder, () => { artifacts.Forwarder, provider, txDefaults, + dependencyArtifacts, exchangeInstance.address, zrxAssetData, wethAssetData, @@ -169,6 +177,7 @@ describe(ContractName.Forwarder, () => { exchangeArtifacts.Exchange, provider, txDefaults, + dependencyArtifacts, zrxAssetData, ); return expectContractCreationFailedAsync( @@ -176,6 +185,7 @@ describe(ContractName.Forwarder, () => { artifacts.Forwarder, provider, txDefaults, + dependencyArtifacts, exchangeInstance.address, zrxAssetData, wethAssetData, diff --git a/contracts/exchange-libs/test/exchange_libs.ts b/contracts/exchange-libs/test/exchange_libs.ts index b613231895..5716b32f56 100644 --- a/contracts/exchange-libs/test/exchange_libs.ts +++ b/contracts/exchange-libs/test/exchange_libs.ts @@ -35,7 +35,7 @@ describe('Exchange libs', () => { before(async () => { const accounts = await web3Wrapper.getAvailableAddressesAsync(); const makerAddress = accounts[0]; - libs = await TestLibsContract.deployFrom0xArtifactAsync(artifacts.TestLibs, provider, txDefaults); + libs = await TestLibsContract.deployFrom0xArtifactAsync(artifacts.TestLibs, provider, txDefaults, artifacts); const defaultOrderParams = { ...constants.STATIC_ORDER_PARAMS, diff --git a/contracts/exchange/test/core.ts b/contracts/exchange/test/core.ts index c617db9e39..f34af68f7b 100644 --- a/contracts/exchange/test/core.ts +++ b/contracts/exchange/test/core.ts @@ -119,11 +119,13 @@ describe('Exchange core', () => { proxyArtifacts.MultiAssetProxy, provider, txDefaults, + dependencyArtifacts, ); staticCallProxy = await StaticCallProxyContract.deployFrom0xArtifactAsync( proxyArtifacts.StaticCallProxy, provider, txDefaults, + dependencyArtifacts, ); const numDummyErc20ToDeploy = 3; [erc20TokenA, erc20TokenB, zrxToken] = await erc20Wrapper.deployDummyTokensAsync( @@ -354,6 +356,7 @@ describe('Exchange core', () => { erc20Artifacts.DummyNoReturnERC20Token, provider, txDefaults, + dependencyArtifacts, constants.DUMMY_TOKEN_NAME, constants.DUMMY_TOKEN_SYMBOL, constants.DUMMY_TOKEN_DECIMALS, @@ -384,7 +387,7 @@ describe('Exchange core', () => { const initialTakerZrxBalance = await zrxToken.balanceOf.callAsync(takerAddress); const initialFeeRecipientZrxBalance = await zrxToken.balanceOf.callAsync(feeRecipientAddress); - const txReceipt = await exchangeWrapper.fillOrderAsync(signedOrder, takerAddress); + await exchangeWrapper.fillOrderAsync(signedOrder, takerAddress); const finalMakerBalanceA = await noReturnErc20Token.balanceOf.callAsync(makerAddress); const finalMakerBalanceB = await erc20TokenB.balanceOf.callAsync(makerAddress); @@ -1479,6 +1482,7 @@ describe('Exchange core', () => { proxyArtifacts.TestStaticCallTarget, provider, txDefaults, + dependencyArtifacts, ); }); it('should revert if the staticcall is unsuccessful', async () => { diff --git a/contracts/exchange/test/dispatcher.ts b/contracts/exchange/test/dispatcher.ts index 08b1aa55a3..18192b7e8c 100644 --- a/contracts/exchange/test/dispatcher.ts +++ b/contracts/exchange/test/dispatcher.ts @@ -137,6 +137,7 @@ describe('AssetProxyDispatcher', () => { proxyArtifacts.ERC20Proxy, provider, txDefaults, + dependencyArtifacts, ); // Register new ERC20 Transfer Proxy contract return expectTransactionFailedAsync( diff --git a/contracts/exchange/test/utils/dependency_artifacts.ts b/contracts/exchange/test/utils/dependency_artifacts.ts index 047e7c8eff..3e0eb253da 100644 --- a/contracts/exchange/test/utils/dependency_artifacts.ts +++ b/contracts/exchange/test/utils/dependency_artifacts.ts @@ -6,4 +6,4 @@ export const dependencyArtifacts = { ...erc20Artifacts, ...erc721Artifacts, ...erc1155Artifacts, -}; \ No newline at end of file +}; diff --git a/contracts/exchange/test/utils/exchange_wrapper.ts b/contracts/exchange/test/utils/exchange_wrapper.ts index f9bd120320..97005606b5 100644 --- a/contracts/exchange/test/utils/exchange_wrapper.ts +++ b/contracts/exchange/test/utils/exchange_wrapper.ts @@ -1,25 +1,17 @@ -import { artifacts as erc1155Artifacts } from '@0x/contracts-erc1155'; -import { artifacts as erc20Artifacts } from '@0x/contracts-erc20'; -import { artifacts as erc721Artifacts } from '@0x/contracts-erc721'; -import { - FillResults, - formatters, - OrderInfo, - orderUtils, - Web3ProviderEngine, -} from '@0x/contracts-test-utils'; +import { FillResults, formatters, OrderInfo, orderUtils, Web3ProviderEngine } from '@0x/contracts-test-utils'; import { SignedOrder, SignedZeroExTransaction } from '@0x/types'; import { AbiEncoder, BigNumber } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { MethodAbi, TransactionReceiptWithDecodedLogs, ZeroExProvider } from 'ethereum-types'; import * as _ from 'lodash'; -import { artifacts, ExchangeContract } from '../../src'; +import { ExchangeContract } from '../../src'; import { AbiDecodedFillOrderData } from './types'; export class ExchangeWrapper { private readonly _exchange: ExchangeContract; + // tslint:disable no-unused-variable private readonly _web3Wrapper: Web3Wrapper; constructor(exchangeContract: ExchangeContract, provider: Web3ProviderEngine | ZeroExProvider) { this._exchange = exchangeContract; @@ -186,7 +178,9 @@ export class ExchangeWrapper { assetProxyAddress: string, from: string, ): Promise { - const txReceipt = await this._exchange.registerAssetProxy.awaitTransactionSuccessAsync(assetProxyAddress, { from }); + const txReceipt = await this._exchange.registerAssetProxy.awaitTransactionSuccessAsync(assetProxyAddress, { + from, + }); return txReceipt; } public async executeTransactionAsync( diff --git a/contracts/exchange/test/utils/fill_order_combinatorial_utils.ts b/contracts/exchange/test/utils/fill_order_combinatorial_utils.ts index a42511ad3a..85b411a179 100644 --- a/contracts/exchange/test/utils/fill_order_combinatorial_utils.ts +++ b/contracts/exchange/test/utils/fill_order_combinatorial_utils.ts @@ -137,6 +137,7 @@ export async function fillOrderCombinatorialUtilsFactoryAsync( libsArtifacts.TestLibs, provider, txDefaults, + dependencyArtifacts, ); const fillOrderCombinatorialUtils = new FillOrderCombinatorialUtils( diff --git a/contracts/extensions/test/balance_threshold_filter.ts b/contracts/extensions/test/balance_threshold_filter.ts index 530eefd51b..f364a6d2d0 100644 --- a/contracts/extensions/test/balance_threshold_filter.ts +++ b/contracts/extensions/test/balance_threshold_filter.ts @@ -130,6 +130,7 @@ describe(ContractName.BalanceThresholdFilter, () => { artifacts.Exchange, provider, txDefaults, + artifacts, zrxAssetData, ); exchangeWrapper = new ExchangeWrapper(exchangeInstance, provider); @@ -148,6 +149,7 @@ describe(ContractName.BalanceThresholdFilter, () => { artifacts.BalanceThresholdFilter, provider, txDefaults, + artifacts, exchangeInstance.address, erc721BalanceThresholdAsset.address, erc721alanceThreshold, @@ -157,6 +159,7 @@ describe(ContractName.BalanceThresholdFilter, () => { artifacts.BalanceThresholdFilter, provider, txDefaults, + artifacts, exchangeInstance.address, erc20BalanceThresholdAsset.address, erc20BalanceThreshold, diff --git a/contracts/extensions/test/dutch_auction.ts b/contracts/extensions/test/dutch_auction.ts index 639f61999d..01c8e4a25a 100644 --- a/contracts/extensions/test/dutch_auction.ts +++ b/contracts/extensions/test/dutch_auction.ts @@ -82,7 +82,7 @@ describe(ContractName.DutchAuction, () => { const erc721Balances = await erc721Wrapper.getBalancesAsync(); erc721MakerAssetIds = erc721Balances[makerAddress][erc721Token.address]; - wethContract = await WETH9Contract.deployFrom0xArtifactAsync(artifacts.WETH9, provider, txDefaults); + wethContract = await WETH9Contract.deployFrom0xArtifactAsync(artifacts.WETH9, provider, txDefaults, artifacts); erc20Wrapper.addDummyTokenContract(wethContract as any); const zrxAssetData = assetDataUtils.encodeERC20AssetData(zrxToken.address); @@ -90,6 +90,7 @@ describe(ContractName.DutchAuction, () => { artifacts.Exchange, provider, txDefaults, + artifacts, zrxAssetData, ); const exchangeWrapper = new ExchangeWrapper(exchangeInstance, provider); @@ -107,6 +108,7 @@ describe(ContractName.DutchAuction, () => { artifacts.DutchAuction, provider, txDefaults, + artifacts, exchangeInstance.address, ); dutchAuctionContract = new DutchAuctionContract(dutchAuctionInstance.address, provider); diff --git a/contracts/extensions/test/order_matcher.ts b/contracts/extensions/test/order_matcher.ts index 99ec0d06d9..6c6c368c07 100644 --- a/contracts/extensions/test/order_matcher.ts +++ b/contracts/extensions/test/order_matcher.ts @@ -103,12 +103,14 @@ describe('OrderMatcher', () => { proxyArtifacts.ERC721Proxy, provider, txDefaults, + artifacts, ); // Depoy exchange exchange = await ExchangeContract.deployFrom0xArtifactAsync( artifacts.Exchange, provider, txDefaults, + artifacts, assetDataUtils.encodeERC20AssetData(zrxToken.address), ); exchangeWrapper = new ExchangeWrapper(exchange, provider); @@ -126,6 +128,7 @@ describe('OrderMatcher', () => { artifacts.OrderMatcher, provider, txDefaults, + artifacts, exchange.address, ); // Set default addresses @@ -198,6 +201,7 @@ describe('OrderMatcher', () => { artifacts.Exchange, provider, txDefaults, + artifacts, constants.NULL_BYTES, ); return expectContractCreationFailedAsync( @@ -205,6 +209,7 @@ describe('OrderMatcher', () => { artifacts.OrderMatcher, provider, txDefaults, + artifacts, exchangeInstance.address, ) as any) as sendTransactionResult, RevertReason.UnregisteredAssetProxy, @@ -727,6 +732,7 @@ describe('OrderMatcher', () => { erc721Artifacts.DummyERC721Token, provider, txDefaults, + artifacts, constants.DUMMY_TOKEN_NAME, constants.DUMMY_TOKEN_SYMBOL, ); @@ -772,6 +778,7 @@ describe('OrderMatcher', () => { erc721Artifacts.DummyERC721Token, provider, txDefaults, + artifacts, constants.DUMMY_TOKEN_NAME, constants.DUMMY_TOKEN_SYMBOL, ); @@ -789,6 +796,7 @@ describe('OrderMatcher', () => { erc721Artifacts.DummyERC721Token, provider, txDefaults, + artifacts, constants.DUMMY_TOKEN_NAME, constants.DUMMY_TOKEN_SYMBOL, ); diff --git a/contracts/multisig/test/asset_proxy_owner.ts b/contracts/multisig/test/asset_proxy_owner.ts index 62081554be..ff9f6b5c50 100644 --- a/contracts/multisig/test/asset_proxy_owner.ts +++ b/contracts/multisig/test/asset_proxy_owner.ts @@ -61,17 +61,20 @@ describe('AssetProxyOwner', () => { proxyArtifacts.MixinAuthorizable, provider, txDefaults, + artifacts, ); erc721Proxy = await MixinAuthorizableContract.deployFrom0xArtifactAsync( proxyArtifacts.MixinAuthorizable, provider, txDefaults, + artifacts, ); const defaultAssetProxyContractAddresses: string[] = []; testAssetProxyOwner = await TestAssetProxyOwnerContract.deployFrom0xArtifactAsync( artifacts.TestAssetProxyOwner, provider, txDefaults, + artifacts, owners, defaultAssetProxyContractAddresses, REQUIRED_APPROVALS, @@ -105,6 +108,7 @@ describe('AssetProxyOwner', () => { artifacts.AssetProxyOwner, provider, txDefaults, + artifacts, owners, assetProxyContractAddresses, REQUIRED_APPROVALS, @@ -122,6 +126,7 @@ describe('AssetProxyOwner', () => { artifacts.AssetProxyOwner, provider, txDefaults, + artifacts, owners, assetProxyContractAddresses, REQUIRED_APPROVALS, diff --git a/contracts/multisig/test/multi_sig_with_time_lock.ts b/contracts/multisig/test/multi_sig_with_time_lock.ts index 9596271514..6208f23a53 100644 --- a/contracts/multisig/test/multi_sig_with_time_lock.ts +++ b/contracts/multisig/test/multi_sig_with_time_lock.ts @@ -66,6 +66,7 @@ describe('MultiSigWalletWithTimeLock', () => { artifacts.MultiSigWalletWithTimeLock, provider, txDefaults, + artifacts, owners, REQUIRED_APPROVALS, secondsTimeLocked, @@ -81,6 +82,7 @@ describe('MultiSigWalletWithTimeLock', () => { artifacts.MultiSigWalletWithTimeLock, provider, txDefaults, + artifacts, owners, REQUIRED_APPROVALS, secondsTimeLocked, @@ -135,6 +137,7 @@ describe('MultiSigWalletWithTimeLock', () => { artifacts.MultiSigWalletWithTimeLock, provider, txDefaults, + artifacts, owners, REQUIRED_APPROVALS, secondsTimeLocked, @@ -198,6 +201,7 @@ describe('MultiSigWalletWithTimeLock', () => { artifacts.TestRejectEther, provider, txDefaults, + artifacts, ); const data = constants.NULL_BYTES; const value = new BigNumber(10); @@ -234,6 +238,7 @@ describe('MultiSigWalletWithTimeLock', () => { artifacts.MultiSigWalletWithTimeLock, provider, txDefaults, + artifacts, owners, REQUIRED_APPROVALS, secondsTimeLocked, @@ -308,6 +313,7 @@ describe('MultiSigWalletWithTimeLock', () => { artifacts.MultiSigWalletWithTimeLock, provider, txDefaults, + artifacts, owners, REQUIRED_APPROVALS, SECONDS_TIME_LOCKED, diff --git a/contracts/utils/test/lib_address_array.ts b/contracts/utils/test/lib_address_array.ts index bb0d441a5c..4b96262a63 100644 --- a/contracts/utils/test/lib_address_array.ts +++ b/contracts/utils/test/lib_address_array.ts @@ -28,6 +28,7 @@ describe('LibAddressArray', () => { artifacts.TestLibAddressArray, provider, txDefaults, + artifacts, ); }); after(async () => { diff --git a/contracts/utils/test/lib_bytes.ts b/contracts/utils/test/lib_bytes.ts index cedcb9d80a..69aa650803 100644 --- a/contracts/utils/test/lib_bytes.ts +++ b/contracts/utils/test/lib_bytes.ts @@ -68,7 +68,12 @@ describe('LibBytes', () => { testAddress = accounts[1]; testAddressB = accounts[2]; // Deploy LibBytes - libBytes = await TestLibBytesContract.deployFrom0xArtifactAsync(artifacts.TestLibBytes, provider, txDefaults); + libBytes = await TestLibBytesContract.deployFrom0xArtifactAsync( + artifacts.TestLibBytes, + provider, + txDefaults, + artifacts, + ); // Verify lengths of test data const byteArrayShorterThan32BytesLength = ethUtil.toBuffer(byteArrayShorterThan32Bytes).byteLength; expect(byteArrayShorterThan32BytesLength).to.be.lessThan(32); diff --git a/contracts/utils/test/libs.ts b/contracts/utils/test/libs.ts index 77dc6e2ba5..6d50ca8fac 100644 --- a/contracts/utils/test/libs.ts +++ b/contracts/utils/test/libs.ts @@ -24,6 +24,7 @@ describe('Libs', () => { artifacts.TestConstants, provider, txDefaults, + artifacts, ); const isValid = await testConstants.assertValidZrxAssetData.callAsync(); expect(isValid).to.be.equal(true); diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts index 45f96008b2..98f51c02d7 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,6 +26,7 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type AssetProxyOwnerEventArgs = @@ -113,6 +111,7 @@ export interface AssetProxyOwnerRequirementChangeEventArgs extends DecodedLogArg required: BigNumber; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -122,7 +121,8 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -132,8 +132,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('owners(uint256)', [index_0]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('owners(uint256)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -142,45 +143,54 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber): string { + getABIEncodedTransactionData( + index_0: BigNumber, + ): string { assert.isBigNumber('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('owners(uint256)', [index_0]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('owners(uint256)', [index_0 + ]); return abiEncodedTransactionData; }, }; public removeOwner = { - async sendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeOwner.estimateGasAsync.bind(self, owner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + owner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('owner', owner); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeOwner.estimateGasAsync.bind( + self, + owner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( owner: string, @@ -188,41 +198,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.removeOwner.sendTransactionAsync(owner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('owner', owner); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.removeOwner.sendTransactionAsync(owner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(owner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + owner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('owner', owner); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(owner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + owner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('owner', owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -232,8 +252,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -242,47 +263,54 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(owner: string): string { + getABIEncodedTransactionData( + owner: string, + ): string { assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeOwner(address)', [ - owner.toLowerCase(), - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public revokeConfirmation = { - async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.revokeConfirmation.estimateGasAsync.bind(self, transactionId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.revokeConfirmation.estimateGasAsync.bind( + self, + transactionId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -290,45 +318,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.revokeConfirmation.sendTransactionAsync(transactionId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.revokeConfirmation.sendTransactionAsync(transactionId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -338,8 +372,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -348,24 +383,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('revokeConfirmation(uint256)', [ - transactionId, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; @@ -374,7 +409,8 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -384,8 +420,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -394,22 +431,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -419,7 +458,8 @@ export class AssetProxyOwnerContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -430,11 +470,10 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmations(uint256,address)', [ - index_0, - index_1.toLowerCase(), - ]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmations(uint256,address)', [index_0, + index_1.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -443,51 +482,57 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber, index_1: string): string { + getABIEncodedTransactionData( + index_0: BigNumber, + index_1: string, + ): string { assert.isBigNumber('index_0', index_0); assert.isString('index_1', index_1); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmations(uint256,address)', [ - index_0, - index_1.toLowerCase(), - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmations(uint256,address)', [index_0, + index_1.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public executeRemoveAuthorizedAddressAtIndex = { - async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [ - transactionId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeRemoveAuthorizedAddressAtIndex.estimateGasAsync.bind(self, transactionId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeRemoveAuthorizedAddressAtIndex.estimateGasAsync.bind( + self, + transactionId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -495,50 +540,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.executeRemoveAuthorizedAddressAtIndex.sendTransactionAsync( - transactionId, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.executeRemoveAuthorizedAddressAtIndex.sendTransactionAsync(transactionId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [ - transactionId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -548,10 +594,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [ - transactionId, - ]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -560,30 +605,33 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('executeRemoveAuthorizedAddressAtIndex(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'executeRemoveAuthorizedAddressAtIndex(uint256)', - [transactionId], - ); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; public secondsTimeLocked = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -592,7 +640,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; + const self = this as any as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('secondsTimeLocked()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -602,20 +650,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as AssetProxyOwnerContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('secondsTimeLocked()', []); return abiEncodedTransactionData; }, @@ -626,7 +674,8 @@ export class AssetProxyOwnerContract extends BaseContract { executed: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBoolean('pending', pending); assert.isBoolean('executed', executed); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -637,8 +686,10 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, executed]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, + executed + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -647,26 +698,27 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(pending: boolean, executed: boolean): string { + getABIEncodedTransactionData( + pending: boolean, + executed: boolean, + ): string { assert.isBoolean('pending', pending); assert.isBoolean('executed', executed); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [ - pending, - executed, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, + executed + ]); return abiEncodedTransactionData; }, }; @@ -674,30 +726,33 @@ export class AssetProxyOwnerContract extends BaseContract { async sendTransactionAsync( assetProxyContract: string, isRegistered: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('assetProxyContract', assetProxyContract); - assert.isBoolean('isRegistered', isRegistered); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ + assert.isString('assetProxyContract', assetProxyContract); + assert.isBoolean('isRegistered', isRegistered); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), + isRegistered + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.registerAssetProxy.estimateGasAsync.bind( + self, assetProxyContract.toLowerCase(), - isRegistered, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.registerAssetProxy.estimateGasAsync.bind(self, assetProxyContract.toLowerCase(), isRegistered), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + isRegistered + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetProxyContract: string, @@ -706,59 +761,57 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxyContract', assetProxyContract); - assert.isBoolean('isRegistered', isRegistered); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync( - assetProxyContract.toLowerCase(), - isRegistered, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetProxyContract', assetProxyContract); + assert.isBoolean('isRegistered', isRegistered); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxyContract.toLowerCase(), + isRegistered + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( assetProxyContract: string, isRegistered: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('assetProxyContract', assetProxyContract); - assert.isBoolean('isRegistered', isRegistered); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ - assetProxyContract.toLowerCase(), - isRegistered, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('assetProxyContract', assetProxyContract); + assert.isBoolean('isRegistered', isRegistered); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), + isRegistered + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetProxyContract: string, isRegistered: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxyContract', assetProxyContract); assert.isBoolean('isRegistered', isRegistered); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -769,11 +822,10 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ - assetProxyContract.toLowerCase(), - isRegistered, - ]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), + isRegistered + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -782,49 +834,57 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetProxyContract: string, isRegistered: boolean): string { + getABIEncodedTransactionData( + assetProxyContract: string, + isRegistered: boolean, + ): string { assert.isString('assetProxyContract', assetProxyContract); assert.isBoolean('isRegistered', isRegistered); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ - assetProxyContract.toLowerCase(), - isRegistered, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), + isRegistered + ]); return abiEncodedTransactionData; }, }; public addOwner = { - async sendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addOwner.estimateGasAsync.bind(self, owner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + owner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('owner', owner); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addOwner.estimateGasAsync.bind( + self, + owner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( owner: string, @@ -832,41 +892,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.addOwner.sendTransactionAsync(owner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('owner', owner); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.addOwner.sendTransactionAsync(owner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(owner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + owner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('owner', owner); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(owner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + owner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('owner', owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -876,8 +946,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -886,22 +957,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(owner: string): string { + getABIEncodedTransactionData( + owner: string, + ): string { assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -910,7 +983,8 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -920,8 +994,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -930,48 +1005,54 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; public changeTimeLock = { async sendTransactionAsync( _secondsTimeLocked: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.changeTimeLock.estimateGasAsync.bind(self, _secondsTimeLocked), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.changeTimeLock.estimateGasAsync.bind( + self, + _secondsTimeLocked + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _secondsTimeLocked: BigNumber, @@ -979,45 +1060,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.changeTimeLock.sendTransactionAsync(_secondsTimeLocked, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.changeTimeLock.sendTransactionAsync(_secondsTimeLocked + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(_secondsTimeLocked: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + _secondsTimeLocked: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _secondsTimeLocked: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1027,8 +1114,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1037,24 +1125,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_secondsTimeLocked: BigNumber): string { + getABIEncodedTransactionData( + _secondsTimeLocked: BigNumber, + ): string { assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('changeTimeLock(uint256)', [ - _secondsTimeLocked, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked + ]); return abiEncodedTransactionData; }, }; @@ -1063,7 +1151,8 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1073,8 +1162,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase()]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1083,24 +1173,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isAssetProxyRegistered(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [ - index_0.toLowerCase(), - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -1109,7 +1199,8 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1119,8 +1210,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1129,24 +1221,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmationCount(uint256)', [ - transactionId, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; @@ -1155,7 +1247,8 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, BigNumber, string, boolean]> { + ): Promise<[string, BigNumber, string, boolean] + > { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1165,8 +1258,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('transactions(uint256)', [index_0]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('transactions(uint256)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1175,27 +1269,33 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean] + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber): string { + getABIEncodedTransactionData( + index_0: BigNumber, + ): string { assert.isBigNumber('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactions(uint256)', [index_0]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transactions(uint256)', [index_0 + ]); return abiEncodedTransactionData; }, }; public getOwners = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1204,7 +1304,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; + const self = this as any as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('getOwners()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1214,20 +1314,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getOwners()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as AssetProxyOwnerContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('getOwners()', []); return abiEncodedTransactionData; }, @@ -1240,7 +1340,8 @@ export class AssetProxyOwnerContract extends BaseContract { executed: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('from', from); assert.isBigNumber('to', to); assert.isBoolean('pending', pending); @@ -1253,13 +1354,12 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [ - from, - to, - pending, - executed, - ]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [from, + to, + pending, + executed + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1268,28 +1368,33 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(from: BigNumber, to: BigNumber, pending: boolean, executed: boolean): string { + getABIEncodedTransactionData( + from: BigNumber, + to: BigNumber, + pending: boolean, + executed: boolean, + ): string { assert.isBigNumber('from', from); assert.isBigNumber('to', to); assert.isBoolean('pending', pending); assert.isBoolean('executed', executed); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getTransactionIds(uint256,uint256,bool,bool)', - [from, to, pending, executed], - ); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [from, + to, + pending, + executed + ]); return abiEncodedTransactionData; }, }; @@ -1298,7 +1403,8 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1308,8 +1414,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1318,27 +1425,33 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; public transactionCount = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1347,7 +1460,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; + const self = this as any as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('transactionCount()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1357,44 +1470,51 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transactionCount()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as AssetProxyOwnerContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('transactionCount()', []); return abiEncodedTransactionData; }, }; public changeRequirement = { - async sendTransactionAsync(_required: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_required', _required); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.changeRequirement.estimateGasAsync.bind(self, _required), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + _required: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('_required', _required); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.changeRequirement.estimateGasAsync.bind( + self, + _required + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _required: BigNumber, @@ -1402,45 +1522,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_required', _required); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.changeRequirement.sendTransactionAsync(_required, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('_required', _required); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.changeRequirement.sendTransactionAsync(_required + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(_required: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_required', _required); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + _required: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('_required', _required); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _required: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_required', _required); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1450,8 +1576,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1460,45 +1587,54 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_required: BigNumber): string { + getABIEncodedTransactionData( + _required: BigNumber, + ): string { assert.isBigNumber('_required', _required); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('changeRequirement(uint256)', [_required + ]); return abiEncodedTransactionData; }, }; public confirmTransaction = { - async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.confirmTransaction.estimateGasAsync.bind(self, transactionId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.confirmTransaction.estimateGasAsync.bind( + self, + transactionId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -1506,45 +1642,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.confirmTransaction.sendTransactionAsync(transactionId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.confirmTransaction.sendTransactionAsync(transactionId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1554,8 +1696,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1564,24 +1707,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmTransaction(uint256)', [ - transactionId, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; @@ -1590,32 +1733,36 @@ export class AssetProxyOwnerContract extends BaseContract { destination: string, value: BigNumber, data: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), + value, + data + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.submitTransaction.estimateGasAsync.bind( + self, destination.toLowerCase(), value, - data, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.submitTransaction.estimateGasAsync.bind(self, destination.toLowerCase(), value, data), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + data + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( destination: string, @@ -1625,27 +1772,25 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.submitTransaction.sendTransactionAsync( - destination.toLowerCase(), - value, - data, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.submitTransaction.sendTransactionAsync(destination.toLowerCase(), + value, + data + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( destination: string, @@ -1653,29 +1798,28 @@ export class AssetProxyOwnerContract extends BaseContract { data: string, txData?: Partial | undefined, ): Promise { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ - destination.toLowerCase(), - value, - data, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), + value, + data + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( destination: string, @@ -1683,7 +1827,8 @@ export class AssetProxyOwnerContract extends BaseContract { data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('destination', destination); assert.isBigNumber('value', value); assert.isString('data', data); @@ -1695,12 +1840,11 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ - destination.toLowerCase(), - value, - data, - ]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), + value, + data + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1709,28 +1853,30 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(destination: string, value: BigNumber, data: string): string { + getABIEncodedTransactionData( + destination: string, + value: BigNumber, + data: string, + ): string { assert.isString('destination', destination); assert.isBigNumber('value', value); assert.isString('data', data); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ - destination.toLowerCase(), - value, - data, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), + value, + data + ]); return abiEncodedTransactionData; }, }; @@ -1739,7 +1885,8 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1749,8 +1896,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1759,27 +1907,33 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber): string { + getABIEncodedTransactionData( + index_0: BigNumber, + ): string { assert.isBigNumber('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0 + ]); return abiEncodedTransactionData; }, }; public MAX_OWNER_COUNT = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1788,7 +1942,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; + const self = this as any as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1798,26 +1952,30 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as AssetProxyOwnerContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); return abiEncodedTransactionData; }, }; public required = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1826,7 +1984,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; + const self = this as any as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('required()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1836,20 +1994,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('required()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as AssetProxyOwnerContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('required()', []); return abiEncodedTransactionData; }, @@ -1858,30 +2016,33 @@ export class AssetProxyOwnerContract extends BaseContract { async sendTransactionAsync( owner: string, newOwner: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), + newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.replaceOwner.estimateGasAsync.bind( + self, owner.toLowerCase(), - newOwner.toLowerCase(), - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.replaceOwner.estimateGasAsync.bind(self, owner.toLowerCase(), newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( owner: string, @@ -1890,55 +2051,57 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.replaceOwner.sendTransactionAsync( - owner.toLowerCase(), - newOwner.toLowerCase(), - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.replaceOwner.sendTransactionAsync(owner.toLowerCase(), + newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(owner: string, newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ - owner.toLowerCase(), - newOwner.toLowerCase(), - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + owner: string, + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), + newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( owner: string, newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('owner', owner); assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1949,11 +2112,10 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ - owner.toLowerCase(), - newOwner.toLowerCase(), - ]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), + newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1962,49 +2124,57 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(owner: string, newOwner: string): string { + getABIEncodedTransactionData( + owner: string, + newOwner: string, + ): string { assert.isString('owner', owner); assert.isString('newOwner', newOwner); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [ - owner.toLowerCase(), - newOwner.toLowerCase(), - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), + newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public executeTransaction = { - async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeTransaction.estimateGasAsync.bind(self, transactionId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeTransaction.estimateGasAsync.bind( + self, + transactionId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -2012,45 +2182,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync(transactionId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.executeTransaction.sendTransactionAsync(transactionId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -2060,8 +2236,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2070,36 +2247,37 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256)', [ - transactionId, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - _owners: string[], - _assetProxyContracts: string[], - _required: BigNumber, - _secondsTimeLocked: BigNumber, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _owners: string[], + _assetProxyContracts: string[], + _required: BigNumber, + _secondsTimeLocked: BigNumber, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -2112,26 +2290,23 @@ export class AssetProxyOwnerContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return AssetProxyOwnerContract.deployAsync( - bytecode, - abi, - provider, - txDefaults, - _owners, - _assetProxyContracts, - _required, - _secondsTimeLocked, - ); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return AssetProxyOwnerContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _owners, +_assetProxyContracts, +_required, +_secondsTimeLocked +); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - _owners: string[], - _assetProxyContracts: string[], - _required: BigNumber, - _secondsTimeLocked: BigNumber, + abiDependencies: { [contractName: string]: ContractAbi }, + _owners: string[], + _assetProxyContracts: string[], + _required: BigNumber, + _secondsTimeLocked: BigNumber, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -2141,17 +2316,29 @@ export class AssetProxyOwnerContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_owners, _assetProxyContracts, _required, _secondsTimeLocked] = BaseContract._formatABIDataItemList( + [_owners, +_assetProxyContracts, +_required, +_secondsTimeLocked +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_owners, _assetProxyContracts, _required, _secondsTimeLocked], + [_owners, +_assetProxyContracts, +_required, +_secondsTimeLocked +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_owners, _assetProxyContracts, _required, _secondsTimeLocked]); + const txData = deployInfo.encode(bytecode, [_owners, +_assetProxyContracts, +_required, +_secondsTimeLocked +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -2159,17 +2346,22 @@ export class AssetProxyOwnerContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`AssetProxyOwner successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new AssetProxyOwnerContract(txReceipt.contractAddress as string, provider, txDefaults); - contractInstance.constructorArgs = [_owners, _assetProxyContracts, _required, _secondsTimeLocked]; + const contractInstance = new AssetProxyOwnerContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + contractInstance.constructorArgs = [_owners, +_assetProxyContracts, +_required, +_secondsTimeLocked +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -2188,7 +2380,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2197,12 +2389,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'removeOwner', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2211,12 +2404,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'revokeConfirmation', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2235,7 +2429,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2258,7 +2452,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2267,14 +2461,16 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'executeRemoveAuthorizedAddressAtIndex', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'secondsTimeLocked', outputs: [ { @@ -2286,7 +2482,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2309,7 +2505,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2322,12 +2518,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'registerAssetProxy', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2336,12 +2533,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'addOwner', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2360,7 +2558,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2369,12 +2567,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'changeTimeLock', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2393,7 +2592,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2412,7 +2611,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2443,9 +2642,10 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getOwners', outputs: [ { @@ -2457,7 +2657,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2488,7 +2688,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2507,9 +2707,10 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'transactionCount', outputs: [ { @@ -2521,7 +2722,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2530,12 +2731,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'changeRequirement', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2544,12 +2746,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'confirmTransaction', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2576,7 +2779,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2595,9 +2798,10 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'MAX_OWNER_COUNT', outputs: [ { @@ -2609,9 +2813,10 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'required', outputs: [ { @@ -2623,7 +2828,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2636,12 +2841,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'replaceOwner', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2650,12 +2856,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'executeTransaction', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_owners', @@ -2674,19 +2881,22 @@ export class AssetProxyOwnerContract extends BaseContract { type: 'uint256', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: true, stateMutability: 'payable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -2701,10 +2911,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'AssetProxyRegistration', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2719,10 +2930,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'ConfirmationTimeSet', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2732,10 +2944,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'TimeLockChange', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2750,10 +2963,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'Confirmation', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2768,10 +2982,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'Revocation', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2781,10 +2996,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'Submission', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2794,10 +3010,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'Execution', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2807,10 +3024,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'ExecutionFailure', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2825,10 +3043,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'Deposit', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2838,10 +3057,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'OwnerAddition', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2851,10 +3071,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'OwnerRemoval', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2864,7 +3085,8 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'RequirementChange', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -2938,15 +3160,15 @@ export class AssetProxyOwnerContract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('AssetProxyOwner', AssetProxyOwnerContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('AssetProxyOwner', AssetProxyOwnerContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( AssetProxyOwnerContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts index e75aec7ae0..e708dedb7e 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -21,8 +21,10 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -33,7 +35,8 @@ export class CoordinatorContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -44,8 +47,10 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [hash, signature]); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [hash, + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -54,35 +59,38 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getSignerAddress(bytes32,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(hash: string, signature: string): string { + getABIEncodedTransactionData( + hash: string, + signature: string, + ): string { assert.isString('hash', hash); assert.isString('signature', signature); - const self = (this as any) as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [ - hash, - signature, - ]); + const self = this as any as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [hash, + signature + ]); return abiEncodedTransactionData; }, }; public getTransactionHash = { async callAsync( - transaction: { salt: BigNumber; signerAddress: string; data: string }, + transaction: {salt: BigNumber;signerAddress: string;data: string}, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -91,10 +99,9 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments('getTransactionHash((uint256,address,bytes))', [ - transaction, - ]); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('getTransactionHash((uint256,address,bytes))', [transaction + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -103,38 +110,35 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getTransactionHash((uint256,address,bytes))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transaction: { salt: BigNumber; signerAddress: string; data: string }): string { - const self = (this as any) as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getTransactionHash((uint256,address,bytes))', - [transaction], - ); + getABIEncodedTransactionData( + transaction: {salt: BigNumber;signerAddress: string;data: string}, + ): string { + + const self = this as any as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionHash((uint256,address,bytes))', [transaction + ]); return abiEncodedTransactionData; }, }; public getCoordinatorApprovalHash = { async callAsync( - approval: { - txOrigin: string; - transactionHash: string; - transactionSignature: string; - approvalExpirationTimeSeconds: BigNumber; - }, + approval: {txOrigin: string;transactionHash: string;transactionSignature: string;approvalExpirationTimeSeconds: BigNumber}, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -143,11 +147,9 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments( - 'getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', - [approval], - ); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', [approval + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -156,81 +158,73 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(approval: { - txOrigin: string; - transactionHash: string; - transactionSignature: string; - approvalExpirationTimeSeconds: BigNumber; - }): string { - const self = (this as any) as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', - [approval], - ); + getABIEncodedTransactionData( + approval: {txOrigin: string;transactionHash: string;transactionSignature: string;approvalExpirationTimeSeconds: BigNumber}, + ): string { + + const self = this as any as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', [approval + ]); return abiEncodedTransactionData; }, }; public executeTransaction = { async sendTransactionAsync( - transaction: { salt: BigNumber; signerAddress: string; data: string }, + transaction: {salt: BigNumber;signerAddress: string;data: string}, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('txOrigin', txOrigin); - assert.isString('transactionSignature', transactionSignature); - assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); - assert.isArray('approvalSignatures', approvalSignatures); - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments( - 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', - [ - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeTransaction.estimateGasAsync.bind( - self, - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + assert.isString('txOrigin', txOrigin); + assert.isString('transactionSignature', transactionSignature); + assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); + assert.isArray('approvalSignatures', approvalSignatures); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeTransaction.estimateGasAsync.bind( + self, + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - transaction: { salt: BigNumber; signerAddress: string; data: string }, + transaction: {salt: BigNumber;signerAddress: string;data: string}, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], @@ -239,78 +233,76 @@ export class CoordinatorContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('txOrigin', txOrigin); - assert.isString('transactionSignature', transactionSignature); - assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); - assert.isArray('approvalSignatures', approvalSignatures); - const self = (this as any) as CoordinatorContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync( - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + assert.isString('txOrigin', txOrigin); + assert.isString('transactionSignature', transactionSignature); + assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); + assert.isArray('approvalSignatures', approvalSignatures); + const self = this as any as CoordinatorContract; + const txHashPromise = self.executeTransaction.sendTransactionAsync(transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - transaction: { salt: BigNumber; signerAddress: string; data: string }, + transaction: {salt: BigNumber;signerAddress: string;data: string}, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], txData?: Partial | undefined, ): Promise { - assert.isString('txOrigin', txOrigin); - assert.isString('transactionSignature', transactionSignature); - assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); - assert.isArray('approvalSignatures', approvalSignatures); - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments( - 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', - [ - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + assert.isString('txOrigin', txOrigin); + assert.isString('transactionSignature', transactionSignature); + assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); + assert.isArray('approvalSignatures', approvalSignatures); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - transaction: { salt: BigNumber; signerAddress: string; data: string }, + transaction: {salt: BigNumber;signerAddress: string;data: string}, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { + assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); @@ -323,17 +315,13 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments( - 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', - [ - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ], - ); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -342,47 +330,45 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - transaction: { salt: BigNumber; signerAddress: string; data: string }, - txOrigin: string, - transactionSignature: string, - approvalExpirationTimeSeconds: BigNumber[], - approvalSignatures: string[], - ): string { + transaction: {salt: BigNumber;signerAddress: string;data: string}, + txOrigin: string, + transactionSignature: string, + approvalExpirationTimeSeconds: BigNumber[], + approvalSignatures: string[], + ): string { + assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); assert.isArray('approvalSignatures', approvalSignatures); - const self = (this as any) as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', - [ - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ], - ); + const self = this as any as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ]); return abiEncodedTransactionData; }, }; public EIP712_EXCHANGE_DOMAIN_HASH = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -391,7 +377,7 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; + const self = this as any as CoordinatorContract; const encodedData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -401,34 +387,36 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as CoordinatorContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as CoordinatorContract; const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, }; public assertValidCoordinatorApprovals = { async callAsync( - transaction: { salt: BigNumber; signerAddress: string; data: string }, + transaction: {salt: BigNumber;signerAddress: string;data: string}, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { + assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); @@ -441,17 +429,13 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments( - 'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', - [ - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ], - ); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -460,42 +444,36 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - transaction: { salt: BigNumber; signerAddress: string; data: string }, - txOrigin: string, - transactionSignature: string, - approvalExpirationTimeSeconds: BigNumber[], - approvalSignatures: string[], - ): string { + transaction: {salt: BigNumber;signerAddress: string;data: string}, + txOrigin: string, + transactionSignature: string, + approvalExpirationTimeSeconds: BigNumber[], + approvalSignatures: string[], + ): string { + assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); assert.isArray('approvalSignatures', approvalSignatures); - const self = (this as any) as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', - [ - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ], - ); + const self = this as any as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ]); return abiEncodedTransactionData; }, }; @@ -504,21 +482,7 @@ export class CoordinatorContract extends BaseContract { data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }> + ): Promise > { assert.isString('data', data); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -529,8 +493,9 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data]); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -539,42 +504,33 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decodeOrdersFromFillData(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }> - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(data: string): string { + getABIEncodedTransactionData( + data: string, + ): string { assert.isString('data', data); - const self = (this as any) as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data]); + const self = this as any as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data + ]); return abiEncodedTransactionData; }, }; public EIP712_COORDINATOR_DOMAIN_HASH = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -583,7 +539,7 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; + const self = this as any as CoordinatorContract; const encodedData = self._strictEncodeArguments('EIP712_COORDINATOR_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -593,29 +549,30 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('EIP712_COORDINATOR_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as CoordinatorContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as CoordinatorContract; const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_COORDINATOR_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - _exchange: string, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _exchange: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -628,14 +585,17 @@ export class CoordinatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return CoordinatorContract.deployAsync(bytecode, abi, provider, txDefaults, _exchange); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return CoordinatorContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _exchange +); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - _exchange: string, + abiDependencies: { [contractName: string]: ContractAbi }, + _exchange: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -645,17 +605,20 @@ export class CoordinatorContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange] = BaseContract._formatABIDataItemList( + [_exchange +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange], + [_exchange +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange]); + const txData = deployInfo.encode(bytecode, [_exchange +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -663,17 +626,19 @@ export class CoordinatorContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`Coordinator successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new CoordinatorContract(txReceipt.contractAddress as string, provider, txDefaults); - contractInstance.constructorArgs = [_exchange]; + const contractInstance = new CoordinatorContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + contractInstance.constructorArgs = [_exchange +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -696,7 +661,7 @@ export class CoordinatorContract extends BaseContract { stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -715,7 +680,7 @@ export class CoordinatorContract extends BaseContract { name: 'data', type: 'bytes', }, - ], + ] }, ], name: 'getTransactionHash', @@ -729,7 +694,7 @@ export class CoordinatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -752,7 +717,7 @@ export class CoordinatorContract extends BaseContract { name: 'approvalExpirationTimeSeconds', type: 'uint256', }, - ], + ] }, ], name: 'getCoordinatorApprovalHash', @@ -766,7 +731,7 @@ export class CoordinatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -785,7 +750,7 @@ export class CoordinatorContract extends BaseContract { name: 'data', type: 'bytes', }, - ], + ] }, { name: 'txOrigin', @@ -805,14 +770,16 @@ export class CoordinatorContract extends BaseContract { }, ], name: 'executeTransaction', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'EIP712_EXCHANGE_DOMAIN_HASH', outputs: [ { @@ -824,7 +791,7 @@ export class CoordinatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -843,7 +810,7 @@ export class CoordinatorContract extends BaseContract { name: 'data', type: 'bytes', }, - ], + ] }, { name: 'txOrigin', @@ -863,12 +830,13 @@ export class CoordinatorContract extends BaseContract { }, ], name: 'assertValidCoordinatorApprovals', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -930,16 +898,17 @@ export class CoordinatorContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, ], payable: false, stateMutability: 'pure', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'EIP712_COORDINATOR_DOMAIN_HASH', outputs: [ { @@ -951,14 +920,15 @@ export class CoordinatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_exchange', type: 'address', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', @@ -966,11 +936,11 @@ export class CoordinatorContract extends BaseContract { ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('Coordinator', CoordinatorContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('Coordinator', CoordinatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts index 427ea64aed..1783c8969d 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,9 +26,11 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable -export type CoordinatorRegistryEventArgs = CoordinatorRegistryCoordinatorEndpointSetEventArgs; +export type CoordinatorRegistryEventArgs = + | CoordinatorRegistryCoordinatorEndpointSetEventArgs; export enum CoordinatorRegistryEvents { CoordinatorEndpointSet = 'CoordinatorEndpointSet', @@ -42,30 +41,38 @@ export interface CoordinatorRegistryCoordinatorEndpointSetEventArgs extends Deco coordinatorEndpoint: string; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class CoordinatorRegistryContract extends BaseContract { public setCoordinatorEndpoint = { - async sendTransactionAsync(coordinatorEndpoint: string, txData?: Partial | undefined): Promise { - assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = (this as any) as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setCoordinatorEndpoint.estimateGasAsync.bind(self, coordinatorEndpoint), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + coordinatorEndpoint: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('coordinatorEndpoint', coordinatorEndpoint); + const self = this as any as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setCoordinatorEndpoint.estimateGasAsync.bind( + self, + coordinatorEndpoint + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( coordinatorEndpoint: string, @@ -73,45 +80,51 @@ export class CoordinatorRegistryContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = (this as any) as CoordinatorRegistryContract; - const txHashPromise = self.setCoordinatorEndpoint.sendTransactionAsync(coordinatorEndpoint, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('coordinatorEndpoint', coordinatorEndpoint); + const self = this as any as CoordinatorRegistryContract; + const txHashPromise = self.setCoordinatorEndpoint.sendTransactionAsync(coordinatorEndpoint + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(coordinatorEndpoint: string, txData?: Partial | undefined): Promise { - assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = (this as any) as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + coordinatorEndpoint: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('coordinatorEndpoint', coordinatorEndpoint); + const self = this as any as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( coordinatorEndpoint: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('coordinatorEndpoint', coordinatorEndpoint); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -121,8 +134,9 @@ export class CoordinatorRegistryContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint]); + const self = this as any as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -131,24 +145,24 @@ export class CoordinatorRegistryContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setCoordinatorEndpoint(string)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(coordinatorEndpoint: string): string { + getABIEncodedTransactionData( + coordinatorEndpoint: string, + ): string { assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = (this as any) as CoordinatorRegistryContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [ - coordinatorEndpoint, - ]); + const self = this as any as CoordinatorRegistryContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint + ]); return abiEncodedTransactionData; }, }; @@ -157,7 +171,8 @@ export class CoordinatorRegistryContract extends BaseContract { coordinatorOperator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('coordinatorOperator', coordinatorOperator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -167,10 +182,9 @@ export class CoordinatorRegistryContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [ - coordinatorOperator.toLowerCase(), - ]); + const self = this as any as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [coordinatorOperator.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -179,32 +193,33 @@ export class CoordinatorRegistryContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getCoordinatorEndpoint(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(coordinatorOperator: string): string { + getABIEncodedTransactionData( + coordinatorOperator: string, + ): string { assert.isString('coordinatorOperator', coordinatorOperator); - const self = (this as any) as CoordinatorRegistryContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [ - coordinatorOperator.toLowerCase(), - ]); + const self = this as any as CoordinatorRegistryContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [coordinatorOperator.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -217,13 +232,15 @@ export class CoordinatorRegistryContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return CoordinatorRegistryContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return CoordinatorRegistryContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -233,13 +250,17 @@ export class CoordinatorRegistryContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -247,21 +268,18 @@ export class CoordinatorRegistryContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`CoordinatorRegistry successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new CoordinatorRegistryContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - ); + const contractInstance = new CoordinatorRegistryContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -270,12 +288,13 @@ export class CoordinatorRegistryContract extends BaseContract { }, ], name: 'setCoordinatorEndpoint', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -294,14 +313,16 @@ export class CoordinatorRegistryContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -316,7 +337,8 @@ export class CoordinatorRegistryContract extends BaseContract { }, ], name: 'CoordinatorEndpointSet', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -390,15 +412,15 @@ export class CoordinatorRegistryContract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('CoordinatorRegistry', CoordinatorRegistryContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('CoordinatorRegistry', CoordinatorRegistryContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( CoordinatorRegistryContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts index 7d32562817..e46d11a383 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,9 +26,12 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable -export type DummyERC20TokenEventArgs = DummyERC20TokenTransferEventArgs | DummyERC20TokenApprovalEventArgs; +export type DummyERC20TokenEventArgs = + | DummyERC20TokenTransferEventArgs + | DummyERC20TokenApprovalEventArgs; export enum DummyERC20TokenEvents { Transfer = 'Transfer', @@ -50,12 +50,17 @@ export interface DummyERC20TokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DummyERC20TokenContract extends BaseContract { public name = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -64,7 +69,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; + const self = this as any as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -74,20 +79,20 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, @@ -96,30 +101,33 @@ export class DummyERC20TokenContract extends BaseContract { async sendTransactionAsync( _spender: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind( + self, _spender.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _spender: string, @@ -128,55 +136,57 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _spender: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _spender: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -187,11 +197,10 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -200,31 +209,36 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_spender: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _spender: string, + _value: BigNumber, + ): string { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -233,7 +247,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; + const self = this as any as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -243,20 +257,20 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -266,32 +280,36 @@ export class DummyERC20TokenContract extends BaseContract { _from: string, _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -301,27 +319,25 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _value, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -329,29 +345,28 @@ export class DummyERC20TokenContract extends BaseContract { _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -359,7 +374,8 @@ export class DummyERC20TokenContract extends BaseContract { _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); @@ -371,12 +387,11 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -385,33 +400,39 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _value: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; public decimals = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -420,7 +441,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; + const self = this as any as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('decimals()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -430,20 +451,20 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decimals()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); return abiEncodedTransactionData; }, @@ -453,7 +474,8 @@ export class DummyERC20TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -463,8 +485,9 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -473,27 +496,33 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string): string { + getABIEncodedTransactionData( + _owner: string, + ): string { assert.isString('_owner', _owner); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -502,7 +531,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; + const self = this as any as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -512,26 +541,30 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -540,7 +573,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; + const self = this as any as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -550,44 +583,51 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, }; public mint = { - async sendTransactionAsync(_value: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.mint.estimateGasAsync.bind(self, _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.mint.estimateGasAsync.bind( + self, + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _value: BigNumber, @@ -595,41 +635,51 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.mint.sendTransactionAsync(_value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const txHashPromise = self.mint.sendTransactionAsync(_value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(_value: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(_value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + _value: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -639,8 +689,9 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -649,22 +700,24 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_value: BigNumber): string { + getABIEncodedTransactionData( + _value: BigNumber, + ): string { assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('mint(uint256)', [_value]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('mint(uint256)', [_value + ]); return abiEncodedTransactionData; }, }; @@ -672,27 +725,33 @@ export class DummyERC20TokenContract extends BaseContract { async sendTransactionAsync( _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind( + self, + _to.toLowerCase(), + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -701,48 +760,57 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + _to: string, + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -753,8 +821,10 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -763,26 +833,27 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_to: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _to: string, + _value: BigNumber, + ): string { assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ - _to.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; @@ -792,7 +863,8 @@ export class DummyERC20TokenContract extends BaseContract { _spender: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_spender', _spender); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -803,11 +875,10 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), + _spender.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -816,26 +887,27 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string, _spender: string): string { + getABIEncodedTransactionData( + _owner: string, + _spender: string, + ): string { assert.isString('_owner', _owner); assert.isString('_spender', _spender); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), + _spender.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -843,30 +915,33 @@ export class DummyERC20TokenContract extends BaseContract { async sendTransactionAsync( _target: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setBalance.estimateGasAsync.bind( + self, _target.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setBalance.estimateGasAsync.bind(self, _target.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _target: string, @@ -875,55 +950,57 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.setBalance.sendTransactionAsync(_target.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const txHashPromise = self.setBalance.sendTransactionAsync(_target.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _target: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ - _target.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _target: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_target', _target); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -934,11 +1011,10 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ - _target.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -947,49 +1023,57 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_target: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _target: string, + _value: BigNumber, + ): string { assert.isString('_target', _target); assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [ - _target.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -997,41 +1081,51 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as DummyERC20TokenContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1041,8 +1135,9 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1051,29 +1146,33 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public MAX_MINT_AMOUNT = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1082,7 +1181,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; + const self = this as any as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('MAX_MINT_AMOUNT()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1092,33 +1191,34 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('MAX_MINT_AMOUNT()', []); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - _name: string, - _symbol: string, - _decimals: BigNumber, - _totalSupply: BigNumber, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _name: string, + _symbol: string, + _decimals: BigNumber, + _totalSupply: BigNumber, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1131,26 +1231,23 @@ export class DummyERC20TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return DummyERC20TokenContract.deployAsync( - bytecode, - abi, - provider, - txDefaults, - _name, - _symbol, - _decimals, - _totalSupply, - ); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return DummyERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _name, +_symbol, +_decimals, +_totalSupply +); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - _name: string, - _symbol: string, - _decimals: BigNumber, - _totalSupply: BigNumber, + abiDependencies: { [contractName: string]: ContractAbi }, + _name: string, + _symbol: string, + _decimals: BigNumber, + _totalSupply: BigNumber, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1160,17 +1257,29 @@ export class DummyERC20TokenContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_name, _symbol, _decimals, _totalSupply] = BaseContract._formatABIDataItemList( + [_name, +_symbol, +_decimals, +_totalSupply +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_name, _symbol, _decimals, _totalSupply], + [_name, +_symbol, +_decimals, +_totalSupply +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_name, _symbol, _decimals, _totalSupply]); + const txData = deployInfo.encode(bytecode, [_name, +_symbol, +_decimals, +_totalSupply +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1178,19 +1287,25 @@ export class DummyERC20TokenContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`DummyERC20Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new DummyERC20TokenContract(txReceipt.contractAddress as string, provider, txDefaults); - contractInstance.constructorArgs = [_name, _symbol, _decimals, _totalSupply]; + const contractInstance = new DummyERC20TokenContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + contractInstance.constructorArgs = [_name, +_symbol, +_decimals, +_totalSupply +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'name', outputs: [ { @@ -1202,7 +1317,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1225,9 +1340,10 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'totalSupply', outputs: [ { @@ -1239,7 +1355,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1266,9 +1382,10 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'decimals', outputs: [ { @@ -1280,7 +1397,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1299,9 +1416,10 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -1313,9 +1431,10 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'symbol', outputs: [ { @@ -1327,7 +1446,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1336,12 +1455,13 @@ export class DummyERC20TokenContract extends BaseContract { }, ], name: 'mint', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1364,7 +1484,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1387,7 +1507,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1400,12 +1520,13 @@ export class DummyERC20TokenContract extends BaseContract { }, ], name: 'setBalance', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1414,14 +1535,16 @@ export class DummyERC20TokenContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'MAX_MINT_AMOUNT', outputs: [ { @@ -1433,7 +1556,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_name', @@ -1452,12 +1575,13 @@ export class DummyERC20TokenContract extends BaseContract { type: 'uint256', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -1477,10 +1601,11 @@ export class DummyERC20TokenContract extends BaseContract { }, ], name: 'Transfer', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1500,7 +1625,8 @@ export class DummyERC20TokenContract extends BaseContract { }, ], name: 'Approval', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1574,15 +1700,15 @@ export class DummyERC20TokenContract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('DummyERC20Token', DummyERC20TokenContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('DummyERC20Token', DummyERC20TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( DummyERC20TokenContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts index ad2c8a15b5..095e6bfb3f 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,6 +26,7 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type DummyERC721TokenEventArgs = @@ -60,12 +58,17 @@ export interface DummyERC721TokenApprovalForAllEventArgs extends DecodedLogArgs _approved: boolean; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DummyERC721TokenContract extends BaseContract { public name = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -74,7 +77,7 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; + const self = this as any as DummyERC721TokenContract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -84,20 +87,20 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC721TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC721TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, @@ -107,7 +110,8 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -117,8 +121,9 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -127,22 +132,24 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_tokenId: BigNumber): string { + getABIEncodedTransactionData( + _tokenId: BigNumber, + ): string { assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId + ]); return abiEncodedTransactionData; }, }; @@ -150,30 +157,33 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _approved: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind( + self, _approved.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind(self, _approved.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _approved: string, @@ -182,55 +192,57 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), _tokenId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _approved: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _approved.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _approved: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -241,11 +253,10 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _approved.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -254,26 +265,27 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_approved: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _approved: string, + _tokenId: BigNumber, + ): string { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ - _approved.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -282,32 +294,36 @@ export class DummyERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -317,27 +333,25 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -345,29 +359,28 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -375,7 +388,8 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -387,12 +401,11 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -401,28 +414,30 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _tokenId: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -430,27 +445,33 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.mint.estimateGasAsync.bind(self, _to.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.mint.estimateGasAsync.bind( + self, + _to.toLowerCase(), + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -459,52 +480,57 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.mint.sendTransactionAsync(_to.toLowerCase(), _tokenId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.mint.sendTransactionAsync(_to.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _to: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -515,8 +541,10 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -525,26 +553,27 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_to: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _to: string, + _tokenId: BigNumber, + ): string { assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('mint(address,uint256)', [ - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -553,32 +582,36 @@ export class DummyERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom1.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom1.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -588,27 +621,25 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.safeTransferFrom1.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.safeTransferFrom1.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -616,29 +647,28 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -646,7 +676,8 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -658,12 +689,11 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -672,28 +702,30 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _tokenId: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -702,7 +734,8 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -712,8 +745,9 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -722,22 +756,24 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_tokenId: BigNumber): string { + getABIEncodedTransactionData( + _tokenId: BigNumber, + ): string { assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId + ]); return abiEncodedTransactionData; }, }; @@ -746,7 +782,8 @@ export class DummyERC721TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -756,8 +793,9 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -766,27 +804,33 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string): string { + getABIEncodedTransactionData( + _owner: string, + ): string { assert.isString('_owner', _owner); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -795,7 +839,7 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; + const self = this as any as DummyERC721TokenContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -805,26 +849,30 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC721TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC721TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -833,7 +881,7 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; + const self = this as any as DummyERC721TokenContract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -843,20 +891,20 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC721TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC721TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, @@ -865,27 +913,33 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _owner: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.burn.estimateGasAsync.bind(self, _owner.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.burn.estimateGasAsync.bind( + self, + _owner.toLowerCase(), + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _owner: string, @@ -894,52 +948,57 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.burn.sendTransactionAsync(_owner.toLowerCase(), _tokenId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.burn.sendTransactionAsync(_owner.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _owner: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _owner: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -950,8 +1009,10 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -960,26 +1021,27 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _owner: string, + _tokenId: BigNumber, + ): string { assert.isString('_owner', _owner); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [ - _owner.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -987,30 +1049,33 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _operator: string, _approved: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setApprovalForAll.estimateGasAsync.bind( + self, _operator.toLowerCase(), - _approved, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setApprovalForAll.estimateGasAsync.bind(self, _operator.toLowerCase(), _approved), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _approved + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _operator: string, @@ -1019,59 +1084,57 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.setApprovalForAll.sendTransactionAsync( - _operator.toLowerCase(), - _approved, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.setApprovalForAll.sendTransactionAsync(_operator.toLowerCase(), + _approved + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _operator: string, _approved: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _operator: string, _approved: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1082,11 +1145,10 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1095,26 +1157,27 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_operator: string, _approved: boolean): string { + getABIEncodedTransactionData( + _operator: string, + _approved: boolean, + ): string { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); return abiEncodedTransactionData; }, }; @@ -1124,40 +1187,39 @@ export class DummyERC721TokenContract extends BaseContract { _to: string, _tokenId: BigNumber, _data: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom2.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom2.estimateGasAsync.bind( - self, - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _data + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -1168,29 +1230,27 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.safeTransferFrom2.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.safeTransferFrom2.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -1199,31 +1259,30 @@ export class DummyERC721TokenContract extends BaseContract { _data: string, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -1232,7 +1291,8 @@ export class DummyERC721TokenContract extends BaseContract { _data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -1245,13 +1305,12 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1260,28 +1319,33 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber, _data: string): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _tokenId: BigNumber, + _data: string, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.isString('_data', _data); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'safeTransferFrom(address,address,uint256,bytes)', - [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data], - ); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); return abiEncodedTransactionData; }, }; @@ -1291,7 +1355,8 @@ export class DummyERC721TokenContract extends BaseContract { _operator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_operator', _operator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1302,11 +1367,10 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), - _operator.toLowerCase(), - ]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), + _operator.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1315,49 +1379,57 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string, _operator: string): string { + getABIEncodedTransactionData( + _owner: string, + _operator: string, + ): string { assert.isString('_owner', _owner); assert.isString('_operator', _operator); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), - _operator.toLowerCase(), - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), + _operator.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -1365,41 +1437,51 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1409,8 +1491,9 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1419,34 +1502,35 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - _name: string, - _symbol: string, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _name: string, + _symbol: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1459,15 +1543,19 @@ export class DummyERC721TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return DummyERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, _name, _symbol); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return DummyERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _name, +_symbol +); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - _name: string, - _symbol: string, + abiDependencies: { [contractName: string]: ContractAbi }, + _name: string, + _symbol: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1477,17 +1565,23 @@ export class DummyERC721TokenContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_name, _symbol] = BaseContract._formatABIDataItemList( + [_name, +_symbol +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_name, _symbol], + [_name, +_symbol +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_name, _symbol]); + const txData = deployInfo.encode(bytecode, [_name, +_symbol +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1495,23 +1589,23 @@ export class DummyERC721TokenContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`DummyERC721Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new DummyERC721TokenContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - ); - contractInstance.constructorArgs = [_name, _symbol]; + const contractInstance = new DummyERC721TokenContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + contractInstance.constructorArgs = [_name, +_symbol +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'name', outputs: [ { @@ -1523,7 +1617,7 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1542,7 +1636,7 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1555,12 +1649,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'approve', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1577,12 +1672,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'transferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1595,12 +1691,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'mint', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1617,12 +1714,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'safeTransferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1641,7 +1739,7 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1660,9 +1758,10 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -1674,9 +1773,10 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'symbol', outputs: [ { @@ -1688,7 +1788,7 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1701,12 +1801,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'burn', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1719,12 +1820,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'setApprovalForAll', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1745,12 +1847,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'safeTransferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1773,7 +1876,7 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1782,12 +1885,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_name', @@ -1798,12 +1902,13 @@ export class DummyERC721TokenContract extends BaseContract { type: 'string', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -1823,10 +1928,11 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'Transfer', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1846,10 +1952,11 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'Approval', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1869,7 +1976,8 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'ApprovalForAll', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1943,15 +2051,15 @@ export class DummyERC721TokenContract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('DummyERC721Token', DummyERC721TokenContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('DummyERC721Token', DummyERC721TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( DummyERC721TokenContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts index bb8ef3ad4b..27db00ac50 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -21,146 +21,94 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DutchAuctionContract extends BaseContract { public getAuctionDetails = { async sendTransactionAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - txData?: Partial | undefined, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + txData?: Partial | undefined, ): Promise { - const self = (this as any) as DutchAuctionContract; - const encodedData = self._strictEncodeArguments( - 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.getAuctionDetails.estimateGasAsync.bind(self, order), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + const self = this as any as DutchAuctionContract; + const encodedData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.getAuctionDetails.estimateGasAsync.bind( + self, + order + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - const self = (this as any) as DutchAuctionContract; - const txHashPromise = self.getAuctionDetails.sendTransactionAsync(order, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + const self = this as any as DutchAuctionContract; + const txHashPromise = self.getAuctionDetails.sendTransactionAsync(order + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, txData?: Partial | undefined, ): Promise { - const self = (this as any) as DutchAuctionContract; - const encodedData = self._strictEncodeArguments( - 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + const self = this as any as DutchAuctionContract; + const encodedData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - beginTimeSeconds: BigNumber; - endTimeSeconds: BigNumber; - beginAmount: BigNumber; - endAmount: BigNumber; - currentAmount: BigNumber; - currentTimeSeconds: BigNumber; - }> { + ): Promise<{beginTimeSeconds: BigNumber;endTimeSeconds: BigNumber;beginAmount: BigNumber;endAmount: BigNumber;currentAmount: BigNumber;currentTimeSeconds: BigNumber} + > { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -169,11 +117,9 @@ export class DutchAuctionContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DutchAuctionContract; - const encodedData = self._strictEncodeArguments( - 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); + const self = this as any as DutchAuctionContract; + const encodedData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -182,266 +128,141 @@ export class DutchAuctionContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - ); + const abiEncoder = self._lookupAbiEncoder('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - beginTimeSeconds: BigNumber; - endTimeSeconds: BigNumber; - beginAmount: BigNumber; - endAmount: BigNumber; - currentAmount: BigNumber; - currentTimeSeconds: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{beginTimeSeconds: BigNumber;endTimeSeconds: BigNumber;beginAmount: BigNumber;endAmount: BigNumber;currentAmount: BigNumber;currentTimeSeconds: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }): string { - const self = (this as any) as DutchAuctionContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); + getABIEncodedTransactionData( + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + ): string { + + const self = this as any as DutchAuctionContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); return abiEncodedTransactionData; }, }; public matchOrders = { async sendTransactionAsync( - buyOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - sellOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, buySignature: string, sellSignature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('buySignature', buySignature); - assert.isString('sellSignature', sellSignature); - const self = (this as any) as DutchAuctionContract; - const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [buyOrder, sellOrder, buySignature, sellSignature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.matchOrders.estimateGasAsync.bind(self, buyOrder, sellOrder, buySignature, sellSignature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + + assert.isString('buySignature', buySignature); + assert.isString('sellSignature', sellSignature); + const self = this as any as DutchAuctionContract; + const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, + sellOrder, + buySignature, + sellSignature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.matchOrders.estimateGasAsync.bind( + self, + buyOrder, + sellOrder, + buySignature, + sellSignature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - buyOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - sellOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, buySignature: string, sellSignature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('buySignature', buySignature); - assert.isString('sellSignature', sellSignature); - const self = (this as any) as DutchAuctionContract; - const txHashPromise = self.matchOrders.sendTransactionAsync( - buyOrder, - sellOrder, - buySignature, - sellSignature, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + + assert.isString('buySignature', buySignature); + assert.isString('sellSignature', sellSignature); + const self = this as any as DutchAuctionContract; + const txHashPromise = self.matchOrders.sendTransactionAsync(buyOrder, + sellOrder, + buySignature, + sellSignature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - buyOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - sellOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, buySignature: string, sellSignature: string, txData?: Partial | undefined, ): Promise { - assert.isString('buySignature', buySignature); - assert.isString('sellSignature', sellSignature); - const self = (this as any) as DutchAuctionContract; - const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [buyOrder, sellOrder, buySignature, sellSignature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + + assert.isString('buySignature', buySignature); + assert.isString('sellSignature', sellSignature); + const self = this as any as DutchAuctionContract; + const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, + sellOrder, + buySignature, + sellSignature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - buyOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - sellOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, buySignature: string, sellSignature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - left: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - right: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - leftMakerAssetSpreadAmount: BigNumber; - }> { + ): Promise<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} + > { + + assert.isString('buySignature', buySignature); assert.isString('sellSignature', sellSignature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -452,11 +273,12 @@ export class DutchAuctionContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DutchAuctionContract; - const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [buyOrder, sellOrder, buySignature, sellSignature], - ); + const self = this as any as DutchAuctionContract; + const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, + sellOrder, + buySignature, + sellSignature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -465,81 +287,42 @@ export class DutchAuctionContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - left: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - right: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - leftMakerAssetSpreadAmount: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - buyOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - sellOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - buySignature: string, - sellSignature: string, - ): string { + buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + buySignature: string, + sellSignature: string, + ): string { + + assert.isString('buySignature', buySignature); assert.isString('sellSignature', sellSignature); - const self = (this as any) as DutchAuctionContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [buyOrder, sellOrder, buySignature, sellSignature], - ); + const self = this as any as DutchAuctionContract; + const abiEncodedTransactionData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, + sellOrder, + buySignature, + sellSignature + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - _exchange: string, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _exchange: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -552,14 +335,17 @@ export class DutchAuctionContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return DutchAuctionContract.deployAsync(bytecode, abi, provider, txDefaults, _exchange); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return DutchAuctionContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _exchange +); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - _exchange: string, + abiDependencies: { [contractName: string]: ContractAbi }, + _exchange: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -569,17 +355,20 @@ export class DutchAuctionContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange] = BaseContract._formatABIDataItemList( + [_exchange +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange], + [_exchange +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange]); + const txData = deployInfo.encode(bytecode, [_exchange +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -587,17 +376,19 @@ export class DutchAuctionContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`DutchAuction successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new DutchAuctionContract(txReceipt.contractAddress as string, provider, txDefaults); - contractInstance.constructorArgs = [_exchange]; + const contractInstance = new DutchAuctionContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + contractInstance.constructorArgs = [_exchange +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -652,7 +443,7 @@ export class DutchAuctionContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, ], name: 'getAuctionDetails', @@ -685,14 +476,14 @@ export class DutchAuctionContract extends BaseContract { name: 'currentTimeSeconds', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -747,7 +538,7 @@ export class DutchAuctionContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'sellOrder', @@ -801,7 +592,7 @@ export class DutchAuctionContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'buySignature', @@ -838,7 +629,7 @@ export class DutchAuctionContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, { name: 'right', @@ -860,27 +651,28 @@ export class DutchAuctionContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, { name: 'leftMakerAssetSpreadAmount', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_exchange', type: 'address', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', @@ -888,11 +680,11 @@ export class DutchAuctionContract extends BaseContract { ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('DutchAuction', DutchAuctionContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('DutchAuction', DutchAuctionContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts index e9dbd86a3a..a72fb0c2c6 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,6 +26,7 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type ERC20ProxyEventArgs = @@ -50,30 +48,38 @@ export interface ERC20ProxyAuthorizedAddressRemovedEventArgs extends DecodedLogA caller: string; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC20ProxyContract extends BaseContract { public addAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -81,41 +87,51 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as ERC20ProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -125,8 +141,9 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -135,24 +152,24 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -161,7 +178,8 @@ export class ERC20ProxyContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -171,8 +189,9 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0]); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -181,45 +200,54 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorities(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber): string { + getABIEncodedTransactionData( + index_0: BigNumber, + ): string { assert.isBigNumber('index_0', index_0); - const self = (this as any) as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0]); + const self = this as any as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0 + ]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -227,41 +255,51 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as ERC20ProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -271,8 +309,9 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -281,29 +320,33 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -312,7 +355,7 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; + const self = this as any as ERC20ProxyContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -322,20 +365,20 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC20ProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC20ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -344,30 +387,33 @@ export class ERC20ProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( + self, target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -376,59 +422,57 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC20ProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( - target.toLowerCase(), - index, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as ERC20ProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), + index + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -439,11 +483,10 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -452,31 +495,36 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string, index: BigNumber): string { + getABIEncodedTransactionData( + target: string, + index: BigNumber, + ): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = (this as any) as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'removeAuthorizedAddressAtIndex(address,uint256)', - [target.toLowerCase(), index], - ); + const self = this as any as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -485,7 +533,7 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; + const self = this as any as ERC20ProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -495,20 +543,20 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC20ProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC20ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, @@ -518,7 +566,8 @@ export class ERC20ProxyContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -528,8 +577,9 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -538,29 +588,33 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorized(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ - index_0.toLowerCase(), - ]); + const self = this as any as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -569,7 +623,7 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; + const self = this as any as ERC20ProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -579,44 +633,51 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC20ProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC20ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -624,41 +685,51 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as ERC20ProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as ERC20ProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -668,8 +739,9 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -678,32 +750,33 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -716,13 +789,15 @@ export class ERC20ProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return ERC20ProxyContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return ERC20ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -732,13 +807,17 @@ export class ERC20ProxyContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -746,17 +825,18 @@ export class ERC20ProxyContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC20Proxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC20ProxyContract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new ERC20ProxyContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -765,12 +845,13 @@ export class ERC20ProxyContract extends BaseContract { }, ], name: 'addAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -789,7 +870,7 @@ export class ERC20ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -798,14 +879,16 @@ export class ERC20ProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -817,7 +900,7 @@ export class ERC20ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -830,14 +913,16 @@ export class ERC20ProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getProxyId', outputs: [ { @@ -849,7 +934,7 @@ export class ERC20ProxyContract extends BaseContract { stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -868,9 +953,10 @@ export class ERC20ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getAuthorizedAddresses', outputs: [ { @@ -882,7 +968,7 @@ export class ERC20ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -891,19 +977,22 @@ export class ERC20ProxyContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -918,10 +1007,11 @@ export class ERC20ProxyContract extends BaseContract { }, ], name: 'AuthorizedAddressAdded', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -936,7 +1026,8 @@ export class ERC20ProxyContract extends BaseContract { }, ], name: 'AuthorizedAddressRemoved', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1010,15 +1101,15 @@ export class ERC20ProxyContract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('ERC20Proxy', ERC20ProxyContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('ERC20Proxy', ERC20ProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( ERC20ProxyContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts index d8c303fef3..2985e6d710 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,9 +26,12 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable -export type ERC20TokenEventArgs = ERC20TokenTransferEventArgs | ERC20TokenApprovalEventArgs; +export type ERC20TokenEventArgs = + | ERC20TokenTransferEventArgs + | ERC20TokenApprovalEventArgs; export enum ERC20TokenEvents { Transfer = 'Transfer', @@ -50,6 +50,7 @@ export interface ERC20TokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -58,30 +59,33 @@ export class ERC20TokenContract extends BaseContract { async sendTransactionAsync( _spender: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind( + self, _spender.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _spender: string, @@ -90,55 +94,57 @@ export class ERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _spender: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _spender: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -149,11 +155,10 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -162,31 +167,36 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_spender: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _spender: string, + _value: BigNumber, + ): string { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); + const self = this as any as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -195,7 +205,7 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20TokenContract; + const self = this as any as ERC20TokenContract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -205,20 +215,20 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -228,32 +238,36 @@ export class ERC20TokenContract extends BaseContract { _from: string, _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -263,27 +277,25 @@ export class ERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _value, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -291,29 +303,28 @@ export class ERC20TokenContract extends BaseContract { _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -321,7 +332,8 @@ export class ERC20TokenContract extends BaseContract { _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); @@ -333,12 +345,11 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -347,28 +358,30 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _value: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const self = this as any as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; @@ -377,7 +390,8 @@ export class ERC20TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -387,8 +401,9 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -397,22 +412,24 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string): string { + getABIEncodedTransactionData( + _owner: string, + ): string { assert.isString('_owner', _owner); - const self = (this as any) as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -420,27 +437,33 @@ export class ERC20TokenContract extends BaseContract { async sendTransactionAsync( _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind( + self, + _to.toLowerCase(), + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -449,48 +472,57 @@ export class ERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + _to: string, + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -501,8 +533,10 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -511,26 +545,27 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_to: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _to: string, + _value: BigNumber, + ): string { assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ - _to.toLowerCase(), - _value, - ]); + const self = this as any as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; @@ -540,7 +575,8 @@ export class ERC20TokenContract extends BaseContract { _spender: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_spender', _spender); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -551,11 +587,10 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), + _spender.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -564,34 +599,36 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string, _spender: string): string { + getABIEncodedTransactionData( + _owner: string, + _spender: string, + ): string { assert.isString('_owner', _owner); assert.isString('_spender', _spender); - const self = (this as any) as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const self = this as any as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), + _spender.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -604,13 +641,15 @@ export class ERC20TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return ERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return ERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -620,13 +659,17 @@ export class ERC20TokenContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -634,17 +677,18 @@ export class ERC20TokenContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC20Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC20TokenContract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new ERC20TokenContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -667,9 +711,10 @@ export class ERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'totalSupply', outputs: [ { @@ -681,7 +726,7 @@ export class ERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -708,7 +753,7 @@ export class ERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -727,7 +772,7 @@ export class ERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -750,7 +795,7 @@ export class ERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -773,7 +818,7 @@ export class ERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { anonymous: false, inputs: [ { @@ -793,10 +838,11 @@ export class ERC20TokenContract extends BaseContract { }, ], name: 'Transfer', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -816,7 +862,8 @@ export class ERC20TokenContract extends BaseContract { }, ], name: 'Approval', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -890,15 +937,15 @@ export class ERC20TokenContract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('ERC20Token', ERC20TokenContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('ERC20Token', ERC20TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( ERC20TokenContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts index d9f18a654e..ffeb122490 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,6 +26,7 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type ERC721ProxyEventArgs = @@ -50,30 +48,38 @@ export interface ERC721ProxyAuthorizedAddressRemovedEventArgs extends DecodedLog caller: string; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC721ProxyContract extends BaseContract { public addAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -81,41 +87,51 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as ERC721ProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -125,8 +141,9 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -135,24 +152,24 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -161,7 +178,8 @@ export class ERC721ProxyContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -171,8 +189,9 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0]); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -181,45 +200,54 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorities(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber): string { + getABIEncodedTransactionData( + index_0: BigNumber, + ): string { assert.isBigNumber('index_0', index_0); - const self = (this as any) as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0]); + const self = this as any as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0 + ]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -227,41 +255,51 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as ERC721ProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -271,8 +309,9 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -281,29 +320,33 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -312,7 +355,7 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; + const self = this as any as ERC721ProxyContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -322,20 +365,20 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC721ProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC721ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -344,30 +387,33 @@ export class ERC721ProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( + self, target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -376,59 +422,57 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC721ProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( - target.toLowerCase(), - index, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as ERC721ProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), + index + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -439,11 +483,10 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -452,31 +495,36 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string, index: BigNumber): string { + getABIEncodedTransactionData( + target: string, + index: BigNumber, + ): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = (this as any) as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'removeAuthorizedAddressAtIndex(address,uint256)', - [target.toLowerCase(), index], - ); + const self = this as any as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -485,7 +533,7 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; + const self = this as any as ERC721ProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -495,20 +543,20 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC721ProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC721ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, @@ -518,7 +566,8 @@ export class ERC721ProxyContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -528,8 +577,9 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -538,29 +588,33 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorized(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ - index_0.toLowerCase(), - ]); + const self = this as any as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -569,7 +623,7 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; + const self = this as any as ERC721ProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -579,44 +633,51 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC721ProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC721ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -624,41 +685,51 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as ERC721ProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as ERC721ProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -668,8 +739,9 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -678,32 +750,33 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -716,13 +789,15 @@ export class ERC721ProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return ERC721ProxyContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return ERC721ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -732,13 +807,17 @@ export class ERC721ProxyContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -746,17 +825,18 @@ export class ERC721ProxyContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC721Proxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC721ProxyContract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new ERC721ProxyContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -765,12 +845,13 @@ export class ERC721ProxyContract extends BaseContract { }, ], name: 'addAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -789,7 +870,7 @@ export class ERC721ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -798,14 +879,16 @@ export class ERC721ProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -817,7 +900,7 @@ export class ERC721ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -830,14 +913,16 @@ export class ERC721ProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getProxyId', outputs: [ { @@ -849,7 +934,7 @@ export class ERC721ProxyContract extends BaseContract { stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -868,9 +953,10 @@ export class ERC721ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getAuthorizedAddresses', outputs: [ { @@ -882,7 +968,7 @@ export class ERC721ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -891,19 +977,22 @@ export class ERC721ProxyContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -918,10 +1007,11 @@ export class ERC721ProxyContract extends BaseContract { }, ], name: 'AuthorizedAddressAdded', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -936,7 +1026,8 @@ export class ERC721ProxyContract extends BaseContract { }, ], name: 'AuthorizedAddressRemoved', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1010,15 +1101,15 @@ export class ERC721ProxyContract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('ERC721Proxy', ERC721ProxyContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('ERC721Proxy', ERC721ProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( ERC721ProxyContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts index 00f849aca6..c4b4d2a8c7 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,6 +26,7 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type ERC721TokenEventArgs = @@ -60,6 +58,7 @@ export interface ERC721TokenApprovalForAllEventArgs extends DecodedLogArgs { _approved: boolean; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -69,7 +68,8 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -79,8 +79,9 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -89,22 +90,24 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_tokenId: BigNumber): string { + getABIEncodedTransactionData( + _tokenId: BigNumber, + ): string { assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId + ]); return abiEncodedTransactionData; }, }; @@ -112,30 +115,33 @@ export class ERC721TokenContract extends BaseContract { async sendTransactionAsync( _approved: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind( + self, _approved.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind(self, _approved.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _approved: string, @@ -144,55 +150,57 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), _tokenId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _approved: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _approved.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _approved: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -203,11 +211,10 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _approved.toLowerCase(), - _tokenId, - ]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -216,26 +223,27 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_approved: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _approved: string, + _tokenId: BigNumber, + ): string { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ - _approved.toLowerCase(), - _tokenId, - ]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -244,32 +252,36 @@ export class ERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -279,27 +291,25 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -307,29 +317,28 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -337,7 +346,8 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -349,12 +359,11 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -363,28 +372,30 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _tokenId: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -393,32 +404,36 @@ export class ERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom1.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom1.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -428,27 +443,25 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.safeTransferFrom1.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const txHashPromise = self.safeTransferFrom1.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -456,29 +469,28 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -486,7 +498,8 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -498,12 +511,11 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -512,28 +524,30 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _tokenId: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -542,7 +556,8 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -552,8 +567,9 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -562,22 +578,24 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_tokenId: BigNumber): string { + getABIEncodedTransactionData( + _tokenId: BigNumber, + ): string { assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId + ]); return abiEncodedTransactionData; }, }; @@ -586,7 +604,8 @@ export class ERC721TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -596,8 +615,9 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -606,22 +626,24 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string): string { + getABIEncodedTransactionData( + _owner: string, + ): string { assert.isString('_owner', _owner); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -629,30 +651,33 @@ export class ERC721TokenContract extends BaseContract { async sendTransactionAsync( _operator: string, _approved: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setApprovalForAll.estimateGasAsync.bind( + self, _operator.toLowerCase(), - _approved, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setApprovalForAll.estimateGasAsync.bind(self, _operator.toLowerCase(), _approved), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _approved + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _operator: string, @@ -661,59 +686,57 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.setApprovalForAll.sendTransactionAsync( - _operator.toLowerCase(), - _approved, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = this as any as ERC721TokenContract; + const txHashPromise = self.setApprovalForAll.sendTransactionAsync(_operator.toLowerCase(), + _approved + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _operator: string, _approved: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _operator: string, _approved: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -724,11 +747,10 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -737,26 +759,27 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_operator: string, _approved: boolean): string { + getABIEncodedTransactionData( + _operator: string, + _approved: boolean, + ): string { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); return abiEncodedTransactionData; }, }; @@ -766,40 +789,39 @@ export class ERC721TokenContract extends BaseContract { _to: string, _tokenId: BigNumber, _data: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom2.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom2.estimateGasAsync.bind( - self, - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _data + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -810,29 +832,27 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.safeTransferFrom2.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = this as any as ERC721TokenContract; + const txHashPromise = self.safeTransferFrom2.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -841,31 +861,30 @@ export class ERC721TokenContract extends BaseContract { _data: string, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -874,7 +893,8 @@ export class ERC721TokenContract extends BaseContract { _data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -887,13 +907,12 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -902,28 +921,33 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber, _data: string): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _tokenId: BigNumber, + _data: string, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.isString('_data', _data); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'safeTransferFrom(address,address,uint256,bytes)', - [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data], - ); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); return abiEncodedTransactionData; }, }; @@ -933,7 +957,8 @@ export class ERC721TokenContract extends BaseContract { _operator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_operator', _operator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -944,11 +969,10 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), - _operator.toLowerCase(), - ]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), + _operator.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -957,34 +981,36 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string, _operator: string): string { + getABIEncodedTransactionData( + _owner: string, + _operator: string, + ): string { assert.isString('_owner', _owner); assert.isString('_operator', _operator); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), - _operator.toLowerCase(), - ]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), + _operator.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -997,13 +1023,15 @@ export class ERC721TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return ERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return ERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1013,13 +1041,17 @@ export class ERC721TokenContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1027,17 +1059,18 @@ export class ERC721TokenContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC721Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC721TokenContract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new ERC721TokenContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -1056,7 +1089,7 @@ export class ERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1069,12 +1102,13 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'approve', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1091,12 +1125,13 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'transferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1113,12 +1148,13 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'safeTransferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1137,7 +1173,7 @@ export class ERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1156,7 +1192,7 @@ export class ERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1169,12 +1205,13 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'setApprovalForAll', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1195,12 +1232,13 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'safeTransferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1223,7 +1261,7 @@ export class ERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { anonymous: false, inputs: [ { @@ -1243,10 +1281,11 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'Transfer', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1266,10 +1305,11 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'Approval', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1289,7 +1329,8 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'ApprovalForAll', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1363,15 +1404,15 @@ export class ERC721TokenContract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('ERC721Token', ERC721TokenContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('ERC721Token', ERC721TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( ERC721TokenContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts index 786f61b3a5..a6eecd9aad 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -21,8 +21,10 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -32,7 +34,8 @@ export class EthBalanceCheckerContract extends BaseContract { addresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isArray('addresses', addresses); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -42,8 +45,9 @@ export class EthBalanceCheckerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as EthBalanceCheckerContract; - const encodedData = self._strictEncodeArguments('getEthBalances(address[])', [addresses]); + const self = this as any as EthBalanceCheckerContract; + const encodedData = self._strictEncodeArguments('getEthBalances(address[])', [addresses + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -52,29 +56,32 @@ export class EthBalanceCheckerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(addresses: string[]): string { + getABIEncodedTransactionData( + addresses: string[], + ): string { assert.isArray('addresses', addresses); - const self = (this as any) as EthBalanceCheckerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getEthBalances(address[])', [addresses]); + const self = this as any as EthBalanceCheckerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getEthBalances(address[])', [addresses + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -87,13 +94,15 @@ export class EthBalanceCheckerContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return EthBalanceCheckerContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return EthBalanceCheckerContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -103,13 +112,17 @@ export class EthBalanceCheckerContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -117,21 +130,18 @@ export class EthBalanceCheckerContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`EthBalanceChecker successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new EthBalanceCheckerContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - ); + const contractInstance = new EthBalanceCheckerContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -153,11 +163,11 @@ export class EthBalanceCheckerContract extends BaseContract { ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('EthBalanceChecker', EthBalanceCheckerContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('EthBalanceChecker', EthBalanceCheckerContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts index 0cdd34e277..2b78ee980a 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,6 +26,7 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type ExchangeEventArgs = @@ -86,6 +84,7 @@ export interface ExchangeAssetProxyRegisteredEventArgs extends DecodedLogArgs { assetProxy: string; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -95,7 +94,8 @@ export class ExchangeContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -105,8 +105,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('filled(bytes32)', [index_0]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('filled(bytes32)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -115,179 +116,128 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('filled(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('filled(bytes32)', [index_0]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('filled(bytes32)', [index_0 + ]); return abiEncodedTransactionData; }, }; public batchFillOrders = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchFillOrders.estimateGasAsync.bind(self, orders, takerAssetFillAmounts, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchFillOrders.estimateGasAsync.bind( + self, + orders, + takerAssetFillAmounts, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchFillOrders.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.batchFillOrders.sendTransactionAsync(orders, + takerAssetFillAmounts, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); @@ -299,11 +249,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -312,51 +262,30 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); return abiEncodedTransactionData; }, }; @@ -365,7 +294,8 @@ export class ExchangeContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -375,8 +305,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelled(bytes32)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -385,22 +316,24 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('cancelled(bytes32)', [index_0 + ]); return abiEncodedTransactionData; }, }; @@ -409,32 +342,36 @@ export class ExchangeContract extends BaseContract { hash: string, signerAddress: string, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.preSign.estimateGasAsync.bind( + self, hash, signerAddress.toLowerCase(), - signature, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.preSign.estimateGasAsync.bind(self, hash, signerAddress.toLowerCase(), signature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + signature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( hash: string, @@ -444,27 +381,25 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.preSign.sendTransactionAsync( - hash, - signerAddress.toLowerCase(), - signature, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const txHashPromise = self.preSign.sendTransactionAsync(hash, + signerAddress.toLowerCase(), + signature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( hash: string, @@ -472,29 +407,28 @@ export class ExchangeContract extends BaseContract { signature: string, txData?: Partial | undefined, ): Promise { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( hash: string, @@ -502,7 +436,8 @@ export class ExchangeContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); @@ -514,12 +449,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -528,248 +462,147 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('preSign(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { + getABIEncodedTransactionData( + hash: string, + signerAddress: string, + signature: string, + ): string { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); return abiEncodedTransactionData; }, }; public matchOrders = { async sendTransactionAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - rightOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, leftSignature: string, rightSignature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [leftOrder, rightOrder, leftSignature, rightSignature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.matchOrders.estimateGasAsync.bind(self, leftOrder, rightOrder, leftSignature, rightSignature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, + rightOrder, + leftSignature, + rightSignature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.matchOrders.estimateGasAsync.bind( + self, + leftOrder, + rightOrder, + leftSignature, + rightSignature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - rightOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, leftSignature: string, rightSignature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.matchOrders.sendTransactionAsync( - leftOrder, - rightOrder, - leftSignature, - rightSignature, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); + const self = this as any as ExchangeContract; + const txHashPromise = self.matchOrders.sendTransactionAsync(leftOrder, + rightOrder, + leftSignature, + rightSignature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - rightOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, leftSignature: string, rightSignature: string, txData?: Partial | undefined, ): Promise { - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [leftOrder, rightOrder, leftSignature, rightSignature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, + rightOrder, + leftSignature, + rightSignature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - rightOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, leftSignature: string, rightSignature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - left: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - right: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - leftMakerAssetSpreadAmount: BigNumber; - }> { + ): Promise<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} + > { + + assert.isString('leftSignature', leftSignature); assert.isString('rightSignature', rightSignature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -780,11 +613,12 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [leftOrder, rightOrder, leftSignature, rightSignature], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, + rightOrder, + leftSignature, + rightSignature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -793,227 +627,138 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - left: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - right: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - leftMakerAssetSpreadAmount: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - rightOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - leftSignature: string, - rightSignature: string, - ): string { + leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + leftSignature: string, + rightSignature: string, + ): string { + + assert.isString('leftSignature', leftSignature); assert.isString('rightSignature', rightSignature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [leftOrder, rightOrder, leftSignature, rightSignature], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, + rightOrder, + leftSignature, + rightSignature + ]); return abiEncodedTransactionData; }, }; public fillOrderNoThrow = { async sendTransactionAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.fillOrderNoThrow.estimateGasAsync.bind(self, order, takerAssetFillAmount, signature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.fillOrderNoThrow.estimateGasAsync.bind( + self, + order, + takerAssetFillAmount, + signature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.fillOrderNoThrow.sendTransactionAsync( - order, - takerAssetFillAmount, - signature, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const txHashPromise = self.fillOrderNoThrow.sendTransactionAsync(order, + takerAssetFillAmount, + signature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1024,11 +769,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1037,55 +782,40 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + takerAssetFillAmount: BigNumber, + signature: string, + ): string { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); return abiEncodedTransactionData; }, }; public assetProxies = { - async callAsync(index_0: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + index_0: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1095,8 +825,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1105,155 +836,106 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('assetProxies(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 + ]); return abiEncodedTransactionData; }, }; public batchCancelOrders = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - txData?: Partial | undefined, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - [orders], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchCancelOrders.estimateGasAsync.bind(self, orders), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchCancelOrders.estimateGasAsync.bind( + self, + orders + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchCancelOrders.sendTransactionAsync(orders, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + const self = this as any as ExchangeContract; + const txHashPromise = self.batchCancelOrders.sendTransactionAsync(orders + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - [orders], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isArray('orders', orders); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1263,11 +945,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - [orders], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1276,199 +956,128 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - ); + const abiEncoder = self._lookupAbiEncoder('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + ): string { assert.isArray('orders', orders); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - [orders], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders + ]); return abiEncodedTransactionData; }, }; public batchFillOrKillOrders = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchFillOrKillOrders.estimateGasAsync.bind(self, orders, takerAssetFillAmounts, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchFillOrKillOrders.estimateGasAsync.bind( + self, + orders, + takerAssetFillAmounts, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchFillOrKillOrders.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.batchFillOrKillOrders.sendTransactionAsync(orders, + takerAssetFillAmounts, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); @@ -1480,11 +1089,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1493,74 +1102,60 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); return abiEncodedTransactionData; }, }; public cancelOrdersUpTo = { - async sendTransactionAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.cancelOrdersUpTo.estimateGasAsync.bind(self, targetOrderEpoch), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + targetOrderEpoch: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.cancelOrdersUpTo.estimateGasAsync.bind( + self, + targetOrderEpoch + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( targetOrderEpoch: BigNumber, @@ -1568,45 +1163,51 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = this as any as ExchangeContract; + const txHashPromise = self.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + targetOrderEpoch: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( targetOrderEpoch: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1616,8 +1217,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1626,181 +1228,128 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('cancelOrdersUpTo(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(targetOrderEpoch: BigNumber): string { + getABIEncodedTransactionData( + targetOrderEpoch: BigNumber, + ): string { assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [ - targetOrderEpoch, - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch + ]); return abiEncodedTransactionData; }, }; public batchFillOrdersNoThrow = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchFillOrdersNoThrow.estimateGasAsync.bind(self, orders, takerAssetFillAmounts, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchFillOrdersNoThrow.estimateGasAsync.bind( + self, + orders, + takerAssetFillAmounts, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchFillOrdersNoThrow.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.batchFillOrdersNoThrow.sendTransactionAsync(orders, + takerAssetFillAmounts, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); @@ -1812,11 +1361,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1825,51 +1374,30 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); return abiEncodedTransactionData; }, }; @@ -1878,7 +1406,8 @@ export class ExchangeContract extends BaseContract { assetProxyId: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxyId', assetProxyId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1888,8 +1417,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1898,22 +1428,24 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetProxyId: string): string { + getABIEncodedTransactionData( + assetProxyId: string, + ): string { assert.isString('assetProxyId', assetProxyId); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId + ]); return abiEncodedTransactionData; }, }; @@ -1922,7 +1454,8 @@ export class ExchangeContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1932,8 +1465,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('transactions(bytes32)', [index_0]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('transactions(bytes32)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1942,176 +1476,129 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transactions(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactions(bytes32)', [index_0]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transactions(bytes32)', [index_0 + ]); return abiEncodedTransactionData; }, }; public fillOrKillOrder = { async sendTransactionAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.fillOrKillOrder.estimateGasAsync.bind(self, order, takerAssetFillAmount, signature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.fillOrKillOrder.estimateGasAsync.bind( + self, + order, + takerAssetFillAmount, + signature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.fillOrKillOrder.sendTransactionAsync( - order, - takerAssetFillAmount, - signature, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const txHashPromise = self.fillOrKillOrder.sendTransactionAsync(order, + takerAssetFillAmount, + signature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2122,11 +1609,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2135,50 +1622,30 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + takerAssetFillAmount: BigNumber, + signature: string, + ): string { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); return abiEncodedTransactionData; }, }; @@ -2186,34 +1653,33 @@ export class ExchangeContract extends BaseContract { async sendTransactionAsync( validatorAddress: string, approval: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), + approval + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setSignatureValidatorApproval.estimateGasAsync.bind( + self, validatorAddress.toLowerCase(), - approval, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setSignatureValidatorApproval.estimateGasAsync.bind( - self, - validatorAddress.toLowerCase(), - approval, - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + approval + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( validatorAddress: string, @@ -2222,59 +1688,57 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.setSignatureValidatorApproval.sendTransactionAsync( - validatorAddress.toLowerCase(), - approval, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); + const self = this as any as ExchangeContract; + const txHashPromise = self.setSignatureValidatorApproval.sendTransactionAsync(validatorAddress.toLowerCase(), + approval + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( validatorAddress: string, approval: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ - validatorAddress.toLowerCase(), - approval, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), + approval + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( validatorAddress: string, approval: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('validatorAddress', validatorAddress); assert.isBoolean('approval', approval); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2285,11 +1749,10 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ - validatorAddress.toLowerCase(), - approval, - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), + approval + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2298,26 +1761,27 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(validatorAddress: string, approval: boolean): string { + getABIEncodedTransactionData( + validatorAddress: string, + approval: boolean, + ): string { assert.isString('validatorAddress', validatorAddress); assert.isBoolean('approval', approval); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'setSignatureValidatorApproval(address,bool)', - [validatorAddress.toLowerCase(), approval], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), + approval + ]); return abiEncodedTransactionData; }, }; @@ -2327,7 +1791,8 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2338,11 +1803,10 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('allowedValidators(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('allowedValidators(address,address)', [index_0.toLowerCase(), + index_1.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2351,183 +1815,131 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string, index_1: string): string { + getABIEncodedTransactionData( + index_0: string, + index_1: string, + ): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowedValidators(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowedValidators(address,address)', [index_0.toLowerCase(), + index_1.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public marketSellOrders = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketSellOrders.estimateGasAsync.bind(self, orders, takerAssetFillAmount, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketSellOrders.estimateGasAsync.bind( + self, + orders, + takerAssetFillAmount, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.marketSellOrders.sendTransactionAsync( - orders, - takerAssetFillAmount, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.marketSellOrders.sendTransactionAsync(orders, + takerAssetFillAmount, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); @@ -2539,11 +1951,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2552,73 +1964,40 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); return abiEncodedTransactionData; }, }; public getOrdersInfo = { async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise> { + ): Promise + > { assert.isArray('orders', orders); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -2628,11 +2007,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - [orders], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2641,44 +2018,24 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - ); + const abiEncoder = self._lookupAbiEncoder('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }> - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + ): string { assert.isArray('orders', orders); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - [orders], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders + ]); return abiEncodedTransactionData; }, }; @@ -2688,7 +2045,8 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2699,11 +2057,10 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSigned(bytes32,address)', [ - index_0, - index_1.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSigned(bytes32,address)', [index_0, + index_1.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2712,31 +2069,36 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('preSigned(bytes32,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string, index_1: string): string { + getABIEncodedTransactionData( + index_0: string, + index_1: string, + ): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('preSigned(bytes32,address)', [ - index_0, - index_1.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('preSigned(bytes32,address)', [index_0, + index_1.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2745,7 +2107,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; + const self = this as any as ExchangeContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2755,20 +2117,20 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ExchangeContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -2780,7 +2142,8 @@ export class ExchangeContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); @@ -2792,12 +2155,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2806,185 +2168,134 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { + getABIEncodedTransactionData( + hash: string, + signerAddress: string, + signature: string, + ): string { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); return abiEncodedTransactionData; }, }; public marketBuyOrdersNoThrow = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketBuyOrdersNoThrow.estimateGasAsync.bind(self, orders, makerAssetFillAmount, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketBuyOrdersNoThrow.estimateGasAsync.bind( + self, + orders, + makerAssetFillAmount, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.marketBuyOrdersNoThrow.sendTransactionAsync( - orders, - makerAssetFillAmount, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.marketBuyOrdersNoThrow.sendTransactionAsync(orders, + makerAssetFillAmount, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); @@ -2996,11 +2307,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3009,200 +2320,135 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + makerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); return abiEncodedTransactionData; }, }; public fillOrder = { async sendTransactionAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.fillOrder.estimateGasAsync.bind(self, order, takerAssetFillAmount, signature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.fillOrder.estimateGasAsync.bind( + self, + order, + takerAssetFillAmount, + signature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.fillOrder.sendTransactionAsync(order, takerAssetFillAmount, signature, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const txHashPromise = self.fillOrder.sendTransactionAsync(order, + takerAssetFillAmount, + signature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -3213,11 +2459,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3226,50 +2472,30 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + takerAssetFillAmount: BigNumber, + signature: string, + ): string { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); return abiEncodedTransactionData; }, }; @@ -3279,34 +2505,39 @@ export class ExchangeContract extends BaseContract { signerAddress: string, data: string, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('salt', salt); - assert.isString('signerAddress', signerAddress); - assert.isString('data', data); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [ + assert.isBigNumber('salt', salt); + assert.isString('signerAddress', signerAddress); + assert.isString('data', data); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, + signerAddress.toLowerCase(), + data, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeTransaction.estimateGasAsync.bind( + self, salt, signerAddress.toLowerCase(), data, - signature, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeTransaction.estimateGasAsync.bind(self, salt, signerAddress.toLowerCase(), data, signature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + signature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( salt: BigNumber, @@ -3317,29 +2548,27 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('salt', salt); - assert.isString('signerAddress', signerAddress); - assert.isString('data', data); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync( - salt, - signerAddress.toLowerCase(), - data, - signature, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('salt', salt); + assert.isString('signerAddress', signerAddress); + assert.isString('data', data); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const txHashPromise = self.executeTransaction.sendTransactionAsync(salt, + signerAddress.toLowerCase(), + data, + signature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( salt: BigNumber, @@ -3348,31 +2577,30 @@ export class ExchangeContract extends BaseContract { signature: string, txData?: Partial | undefined, ): Promise { - assert.isBigNumber('salt', salt); - assert.isString('signerAddress', signerAddress); - assert.isString('data', data); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [ - salt, - signerAddress.toLowerCase(), - data, - signature, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isBigNumber('salt', salt); + assert.isString('signerAddress', signerAddress); + assert.isString('data', data); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, + signerAddress.toLowerCase(), + data, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( salt: BigNumber, @@ -3381,7 +2609,8 @@ export class ExchangeContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('salt', salt); assert.isString('signerAddress', signerAddress); assert.isString('data', data); @@ -3394,13 +2623,12 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [ - salt, - signerAddress.toLowerCase(), - data, - signature, - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, + signerAddress.toLowerCase(), + data, + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3409,51 +2637,63 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256,address,bytes,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(salt: BigNumber, signerAddress: string, data: string, signature: string): string { + getABIEncodedTransactionData( + salt: BigNumber, + signerAddress: string, + data: string, + signature: string, + ): string { assert.isBigNumber('salt', salt); assert.isString('signerAddress', signerAddress); assert.isString('data', data); assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'executeTransaction(uint256,address,bytes,bytes)', - [salt, signerAddress.toLowerCase(), data, signature], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, + signerAddress.toLowerCase(), + data, + signature + ]); return abiEncodedTransactionData; }, }; public registerAssetProxy = { - async sendTransactionAsync(assetProxy: string, txData?: Partial | undefined): Promise { - assert.isString('assetProxy', assetProxy); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.registerAssetProxy.estimateGasAsync.bind(self, assetProxy.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + assetProxy: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('assetProxy', assetProxy); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.registerAssetProxy.estimateGasAsync.bind( + self, + assetProxy.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetProxy: string, @@ -3461,45 +2701,51 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxy', assetProxy); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetProxy', assetProxy); + const self = this as any as ExchangeContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(assetProxy: string, txData?: Partial | undefined): Promise { - assert.isString('assetProxy', assetProxy); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + assetProxy: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('assetProxy', assetProxy); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetProxy: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxy', assetProxy); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -3509,8 +2755,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3519,46 +2766,35 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetProxy: string): string { + getABIEncodedTransactionData( + assetProxy: string, + ): string { assert.isString('assetProxy', assetProxy); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [ - assetProxy.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public getOrderInfo = { async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }> { + ): Promise<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber} + > { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3567,11 +2803,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3580,173 +2814,107 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - ); + const abiEncoder = self._lookupAbiEncoder('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - orderStatus: number; - orderHash: string; - orderTakerAssetFilledAmount: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }): string { - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); + getABIEncodedTransactionData( + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + ): string { + + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); return abiEncodedTransactionData; }, }; public cancelOrder = { async sendTransactionAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - txData?: Partial | undefined, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + txData?: Partial | undefined, ): Promise { - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.cancelOrder.estimateGasAsync.bind(self, order), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.cancelOrder.estimateGasAsync.bind( + self, + order + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - const self = (this as any) as ExchangeContract; - const txHashPromise = self.cancelOrder.sendTransactionAsync(order, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + const self = this as any as ExchangeContract; + const txHashPromise = self.cancelOrder.sendTransactionAsync(order + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, txData?: Partial | undefined, ): Promise { - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3755,11 +2923,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3768,39 +2934,24 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - ); + const abiEncoder = self._lookupAbiEncoder('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }): string { - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); + getABIEncodedTransactionData( + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + ): string { + + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); return abiEncodedTransactionData; }, }; @@ -3810,7 +2961,8 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -3821,11 +2973,10 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('orderEpoch(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('orderEpoch(address,address)', [index_0.toLowerCase(), + index_1.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3834,31 +2985,36 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string, index_1: string): string { + getABIEncodedTransactionData( + index_0: string, + index_1: string, + ): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('orderEpoch(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('orderEpoch(address,address)', [index_0.toLowerCase(), + index_1.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public ZRX_ASSET_DATA = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3867,7 +3023,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; + const self = this as any as ExchangeContract; const encodedData = self._strictEncodeArguments('ZRX_ASSET_DATA()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3877,178 +3033,125 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('ZRX_ASSET_DATA()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ExchangeContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('ZRX_ASSET_DATA()', []); return abiEncodedTransactionData; }, }; public marketSellOrdersNoThrow = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketSellOrdersNoThrow.estimateGasAsync.bind(self, orders, takerAssetFillAmount, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketSellOrdersNoThrow.estimateGasAsync.bind( + self, + orders, + takerAssetFillAmount, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.marketSellOrdersNoThrow.sendTransactionAsync( - orders, - takerAssetFillAmount, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.marketSellOrdersNoThrow.sendTransactionAsync(orders, + takerAssetFillAmount, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); @@ -4060,11 +3163,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -4073,56 +3176,39 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); return abiEncodedTransactionData; }, }; public EIP712_DOMAIN_HASH = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -4131,7 +3217,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; + const self = this as any as ExchangeContract; const encodedData = self._strictEncodeArguments('EIP712_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4141,178 +3227,125 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('EIP712_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ExchangeContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, }; public marketBuyOrders = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketBuyOrders.estimateGasAsync.bind(self, orders, makerAssetFillAmount, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketBuyOrders.estimateGasAsync.bind( + self, + orders, + makerAssetFillAmount, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.marketBuyOrders.sendTransactionAsync( - orders, - makerAssetFillAmount, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.marketBuyOrders.sendTransactionAsync(orders, + makerAssetFillAmount, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); @@ -4324,11 +3357,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -4337,56 +3370,39 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + makerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); return abiEncodedTransactionData; }, }; public currentContextAddress = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -4395,7 +3411,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; + const self = this as any as ExchangeContract; const encodedData = self._strictEncodeArguments('currentContextAddress()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4405,44 +3421,51 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('currentContextAddress()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ExchangeContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('currentContextAddress()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -4450,41 +3473,51 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as ExchangeContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -4494,8 +3527,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -4504,29 +3538,33 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public VERSION = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -4535,7 +3573,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; + const self = this as any as ExchangeContract; const encodedData = self._strictEncodeArguments('VERSION()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4545,30 +3583,31 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('VERSION()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ExchangeContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('VERSION()', []); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - _zrxAssetData: string, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _zrxAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -4581,14 +3620,17 @@ export class ExchangeContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return ExchangeContract.deployAsync(bytecode, abi, provider, txDefaults, _zrxAssetData); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return ExchangeContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _zrxAssetData +); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - _zrxAssetData: string, + abiDependencies: { [contractName: string]: ContractAbi }, + _zrxAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -4598,17 +3640,20 @@ export class ExchangeContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_zrxAssetData] = BaseContract._formatABIDataItemList( + [_zrxAssetData +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_zrxAssetData], + [_zrxAssetData +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_zrxAssetData]); + const txData = deployInfo.encode(bytecode, [_zrxAssetData +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -4616,17 +3661,19 @@ export class ExchangeContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`Exchange successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ExchangeContract(txReceipt.contractAddress as string, provider, txDefaults); - contractInstance.constructorArgs = [_zrxAssetData]; + const contractInstance = new ExchangeContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + contractInstance.constructorArgs = [_zrxAssetData +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -4645,7 +3692,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4700,7 +3747,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmounts', @@ -4733,14 +3780,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4759,7 +3806,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4776,12 +3823,13 @@ export class ExchangeContract extends BaseContract { }, ], name: 'preSign', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4836,7 +3884,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'rightOrder', @@ -4890,7 +3938,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'leftSignature', @@ -4927,7 +3975,7 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, { name: 'right', @@ -4949,20 +3997,20 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, { name: 'leftMakerAssetSpreadAmount', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5017,7 +4065,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmount', @@ -5050,14 +4098,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5076,7 +4124,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5131,16 +4179,17 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, ], name: 'batchCancelOrders', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5195,7 +4244,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmounts', @@ -5228,14 +4277,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5244,12 +4293,13 @@ export class ExchangeContract extends BaseContract { }, ], name: 'cancelOrdersUpTo', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5304,7 +4354,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmounts', @@ -5337,14 +4387,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5363,7 +4413,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5382,7 +4432,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5437,7 +4487,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmount', @@ -5470,14 +4520,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5490,12 +4540,13 @@ export class ExchangeContract extends BaseContract { }, ], name: 'setSignatureValidatorApproval', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5518,7 +4569,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5573,7 +4624,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmount', @@ -5606,14 +4657,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5668,7 +4719,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, ], name: 'getOrdersInfo', @@ -5689,14 +4740,14 @@ export class ExchangeContract extends BaseContract { name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5719,9 +4770,10 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -5733,7 +4785,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5760,7 +4812,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5815,7 +4867,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'makerAssetFillAmount', @@ -5848,14 +4900,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5910,7 +4962,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmount', @@ -5943,14 +4995,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5971,12 +5023,13 @@ export class ExchangeContract extends BaseContract { }, ], name: 'executeTransaction', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5985,12 +5038,13 @@ export class ExchangeContract extends BaseContract { }, ], name: 'registerAssetProxy', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -6045,7 +5099,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, ], name: 'getOrderInfo', @@ -6066,14 +5120,14 @@ export class ExchangeContract extends BaseContract { name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -6128,16 +5182,17 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, ], name: 'cancelOrder', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -6160,9 +5215,10 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'ZRX_ASSET_DATA', outputs: [ { @@ -6174,7 +5230,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -6229,7 +5285,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmount', @@ -6262,16 +5318,17 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'EIP712_DOMAIN_HASH', outputs: [ { @@ -6283,7 +5340,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -6338,7 +5395,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'makerAssetFillAmount', @@ -6371,16 +5428,17 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'currentContextAddress', outputs: [ { @@ -6392,7 +5450,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -6401,14 +5459,16 @@ export class ExchangeContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'VERSION', outputs: [ { @@ -6420,19 +5480,20 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_zrxAssetData', type: 'bytes', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -6452,10 +5513,11 @@ export class ExchangeContract extends BaseContract { }, ], name: 'SignatureValidatorApproval', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -6515,10 +5577,11 @@ export class ExchangeContract extends BaseContract { }, ], name: 'Fill', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -6553,10 +5616,11 @@ export class ExchangeContract extends BaseContract { }, ], name: 'Cancel', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -6576,10 +5640,11 @@ export class ExchangeContract extends BaseContract { }, ], name: 'CancelUpTo', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -6594,7 +5659,8 @@ export class ExchangeContract extends BaseContract { }, ], name: 'AssetProxyRegistered', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -6668,15 +5734,15 @@ export class ExchangeContract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('Exchange', ExchangeContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('Exchange', ExchangeContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( ExchangeContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts index d183a2261c..8534657a74 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -21,125 +21,71 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ForwarderContract extends BaseContract { public marketBuyOrdersWithEth = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [ - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - ], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketBuyOrdersWithEth.estimateGasAsync.bind( - self, - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketBuyOrdersWithEth.estimateGasAsync.bind( + self, + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, @@ -147,158 +93,86 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const txHashPromise = self.marketBuyOrdersWithEth.sendTransactionAsync( - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = this as any as ForwarderContract; + const txHashPromise = self.marketBuyOrdersWithEth.sendTransactionAsync(orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [ - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - ], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - [ - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }, - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - } - ] + ): Promise<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] > { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); @@ -315,19 +189,15 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [ - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - ], - ); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -336,70 +206,26 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - ); + const abiEncoder = self._lookupAbiEncoder('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - [ - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }, - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - } - ] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - feeSignatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + makerAssetFillAmount: BigNumber, + signatures: string[], + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeSignatures: string[], + feePercentage: BigNumber, + feeRecipient: string, + ): string { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); @@ -407,19 +233,15 @@ export class ForwarderContract extends BaseContract { assert.isArray('feeSignatures', feeSignatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [ - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - ], - ); + const self = this as any as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -427,27 +249,33 @@ export class ForwarderContract extends BaseContract { async sendTransactionAsync( assetData: string, amount: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.withdrawAsset.estimateGasAsync.bind(self, assetData, amount), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, + amount + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.withdrawAsset.estimateGasAsync.bind( + self, + assetData, + amount + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetData: string, @@ -456,52 +284,57 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = (this as any) as ForwarderContract; - const txHashPromise = self.withdrawAsset.sendTransactionAsync(assetData, amount, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = this as any as ForwarderContract; + const txHashPromise = self.withdrawAsset.sendTransactionAsync(assetData, + amount + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( assetData: string, amount: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, + amount + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetData: string, amount: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetData', assetData); assert.isBigNumber('amount', amount); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -512,8 +345,10 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, + amount + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -522,31 +357,36 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetData: string, amount: BigNumber): string { + getABIEncodedTransactionData( + assetData: string, + amount: BigNumber, + ): string { assert.isString('assetData', assetData); assert.isBigNumber('amount', amount); - const self = (this as any) as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [ - assetData, - amount, - ]); + const self = this as any as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, + amount + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -555,7 +395,7 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ForwarderContract; + const self = this as any as ForwarderContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -565,125 +405,76 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ForwarderContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ForwarderContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, }; public marketSellOrdersWithEth = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketSellOrdersWithEth.estimateGasAsync.bind( - self, - orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketSellOrdersWithEth.estimateGasAsync.bind( + self, + orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, @@ -691,145 +482,80 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const txHashPromise = self.marketSellOrdersWithEth.sendTransactionAsync( - orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = this as any as ForwarderContract; + const txHashPromise = self.marketSellOrdersWithEth.sendTransactionAsync(orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - [ - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }, - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - } - ] + ): Promise<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] > { assert.isArray('orders', orders); assert.isArray('signatures', signatures); @@ -845,11 +571,14 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], - ); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -858,103 +587,69 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - ); + const abiEncoder = self._lookupAbiEncoder('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - [ - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }, - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - } - ] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - feeSignatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + signatures: string[], + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeSignatures: string[], + feePercentage: BigNumber, + feeRecipient: string, + ): string { assert.isArray('orders', orders); assert.isArray('signatures', signatures); assert.isArray('feeOrders', feeOrders); assert.isArray('feeSignatures', feeSignatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], - ); + const self = this as any as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -962,41 +657,51 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as ForwarderContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as ForwarderContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1006,8 +711,9 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1016,34 +722,35 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - _exchange: string, - _zrxAssetData: string, - _wethAssetData: string, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _exchange: string, + _zrxAssetData: string, + _wethAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1056,24 +763,21 @@ export class ForwarderContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return ForwarderContract.deployAsync( - bytecode, - abi, - provider, - txDefaults, - _exchange, - _zrxAssetData, - _wethAssetData, - ); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return ForwarderContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _exchange, +_zrxAssetData, +_wethAssetData +); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - _exchange: string, - _zrxAssetData: string, - _wethAssetData: string, + abiDependencies: { [contractName: string]: ContractAbi }, + _exchange: string, + _zrxAssetData: string, + _wethAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1083,17 +787,26 @@ export class ForwarderContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange, _zrxAssetData, _wethAssetData] = BaseContract._formatABIDataItemList( + [_exchange, +_zrxAssetData, +_wethAssetData +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange, _zrxAssetData, _wethAssetData], + [_exchange, +_zrxAssetData, +_wethAssetData +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange, _zrxAssetData, _wethAssetData]); + const txData = deployInfo.encode(bytecode, [_exchange, +_zrxAssetData, +_wethAssetData +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1101,17 +814,21 @@ export class ForwarderContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`Forwarder successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ForwarderContract(txReceipt.contractAddress as string, provider, txDefaults); - contractInstance.constructorArgs = [_exchange, _zrxAssetData, _wethAssetData]; + const contractInstance = new ForwarderContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + contractInstance.constructorArgs = [_exchange, +_zrxAssetData, +_wethAssetData +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -1166,7 +883,7 @@ export class ForwarderContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'makerAssetFillAmount', @@ -1228,7 +945,7 @@ export class ForwarderContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'feeSignatures', @@ -1265,7 +982,7 @@ export class ForwarderContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, { name: 'feeOrderFillResults', @@ -1287,14 +1004,14 @@ export class ForwarderContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: true, stateMutability: 'payable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1307,14 +1024,16 @@ export class ForwarderContract extends BaseContract { }, ], name: 'withdrawAsset', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -1326,7 +1045,7 @@ export class ForwarderContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1381,7 +1100,7 @@ export class ForwarderContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'signatures', @@ -1439,7 +1158,7 @@ export class ForwarderContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'feeSignatures', @@ -1476,7 +1195,7 @@ export class ForwarderContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, { name: 'feeOrderFillResults', @@ -1498,14 +1217,14 @@ export class ForwarderContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: true, stateMutability: 'payable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1514,12 +1233,13 @@ export class ForwarderContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_exchange', @@ -1534,14 +1254,17 @@ export class ForwarderContract extends BaseContract { type: 'bytes', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: true, stateMutability: 'payable', type: 'fallback', @@ -1549,11 +1272,11 @@ export class ForwarderContract extends BaseContract { ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('Forwarder', ForwarderContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('Forwarder', ForwarderContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts index 08753c6a21..177f842968 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -21,32 +21,41 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class IAssetProxyContract extends BaseContract { public addAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -54,41 +63,51 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as IAssetProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -98,8 +117,9 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -108,47 +128,54 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -156,41 +183,51 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as IAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -200,8 +237,9 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -210,24 +248,24 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -235,30 +273,33 @@ export class IAssetProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( + self, target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -267,59 +308,57 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as IAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( - target.toLowerCase(), - index, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as IAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), + index + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -330,11 +369,10 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -343,26 +381,27 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string, index: BigNumber): string { + getABIEncodedTransactionData( + target: string, + index: BigNumber, + ): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = (this as any) as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'removeAuthorizedAddressAtIndex(address,uint256)', - [target.toLowerCase(), index], - ); + const self = this as any as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); return abiEncodedTransactionData; }, }; @@ -372,34 +411,39 @@ export class IAssetProxyContract extends BaseContract { from: string, to: string, amount: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, + from.toLowerCase(), + to.toLowerCase(), + amount + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, assetData, from.toLowerCase(), to.toLowerCase(), - amount, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, assetData, from.toLowerCase(), to.toLowerCase(), amount), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + amount + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetData: string, @@ -410,29 +454,27 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); - const self = (this as any) as IAssetProxyContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - assetData, - from.toLowerCase(), - to.toLowerCase(), - amount, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); + const self = this as any as IAssetProxyContract; + const txHashPromise = self.transferFrom.sendTransactionAsync(assetData, + from.toLowerCase(), + to.toLowerCase(), + amount + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( assetData: string, @@ -441,31 +483,30 @@ export class IAssetProxyContract extends BaseContract { amount: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ - assetData, - from.toLowerCase(), - to.toLowerCase(), - amount, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, + from.toLowerCase(), + to.toLowerCase(), + amount + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetData: string, @@ -474,7 +515,8 @@ export class IAssetProxyContract extends BaseContract { amount: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetData', assetData); assert.isString('from', from); assert.isString('to', to); @@ -487,13 +529,12 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ - assetData, - from.toLowerCase(), - to.toLowerCase(), - amount, - ]); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, + from.toLowerCase(), + to.toLowerCase(), + amount + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -502,33 +543,42 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetData: string, from: string, to: string, amount: BigNumber): string { + getABIEncodedTransactionData( + assetData: string, + from: string, + to: string, + amount: BigNumber, + ): string { assert.isString('assetData', assetData); assert.isString('from', from); assert.isString('to', to); assert.isBigNumber('amount', amount); - const self = (this as any) as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'transferFrom(bytes,address,address,uint256)', - [assetData, from.toLowerCase(), to.toLowerCase(), amount], - ); + const self = this as any as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, + from.toLowerCase(), + to.toLowerCase(), + amount + ]); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -537,7 +587,7 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; + const self = this as any as IAssetProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -547,26 +597,30 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as IAssetProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as IAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -575,7 +629,7 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; + const self = this as any as IAssetProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -585,44 +639,51 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as IAssetProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as IAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -630,41 +691,51 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as IAssetProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as IAssetProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -674,8 +745,9 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -684,31 +756,32 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -721,13 +794,15 @@ export class IAssetProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return IAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return IAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -737,13 +812,17 @@ export class IAssetProxyContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -751,17 +830,18 @@ export class IAssetProxyContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`IAssetProxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new IAssetProxyContract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new IAssetProxyContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -770,12 +850,13 @@ export class IAssetProxyContract extends BaseContract { }, ], name: 'addAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -784,12 +865,13 @@ export class IAssetProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -802,12 +884,13 @@ export class IAssetProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -828,14 +911,16 @@ export class IAssetProxyContract extends BaseContract { }, ], name: 'transferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getProxyId', outputs: [ { @@ -847,9 +932,10 @@ export class IAssetProxyContract extends BaseContract { stateMutability: 'pure', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getAuthorizedAddresses', outputs: [ { @@ -861,7 +947,7 @@ export class IAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -870,7 +956,8 @@ export class IAssetProxyContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', @@ -878,11 +965,11 @@ export class IAssetProxyContract extends BaseContract { ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('IAssetProxy', IAssetProxyContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('IAssetProxy', IAssetProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts index 5f32cf4fea..ace17f02b1 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -21,8 +21,10 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -34,7 +36,8 @@ export class IValidatorContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); @@ -46,12 +49,11 @@ export class IValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IValidatorContract; - const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const self = this as any as IValidatorContract; + const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -60,35 +62,38 @@ export class IValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { + getABIEncodedTransactionData( + hash: string, + signerAddress: string, + signature: string, + ): string { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); - const self = (this as any) as IValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const self = this as any as IValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -101,13 +106,15 @@ export class IValidatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return IValidatorContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return IValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -117,13 +124,17 @@ export class IValidatorContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -131,17 +142,18 @@ export class IValidatorContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`IValidator successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new IValidatorContract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new IValidatorContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -171,11 +183,11 @@ export class IValidatorContract extends BaseContract { ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('IValidator', IValidatorContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('IValidator', IValidatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts index 3f653ea9c3..4b8ac08133 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -21,8 +21,10 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -33,7 +35,8 @@ export class IWalletContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -44,8 +47,10 @@ export class IWalletContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IWalletContract; - const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [hash, signature]); + const self = this as any as IWalletContract; + const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [hash, + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -54,33 +59,35 @@ export class IWalletContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(hash: string, signature: string): string { + getABIEncodedTransactionData( + hash: string, + signature: string, + ): string { assert.isString('hash', hash); assert.isString('signature', signature); - const self = (this as any) as IWalletContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [ - hash, - signature, - ]); + const self = this as any as IWalletContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [hash, + signature + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -93,13 +100,15 @@ export class IWalletContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return IWalletContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return IWalletContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -109,13 +118,17 @@ export class IWalletContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -123,17 +136,18 @@ export class IWalletContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`IWallet successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new IWalletContract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new IWalletContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -159,11 +173,11 @@ export class IWalletContract extends BaseContract { ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('IWallet', IWalletContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('IWallet', IWalletContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts index 23da203f8b..746cba577e 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,6 +26,7 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type MultiAssetProxyEventArgs = @@ -57,12 +55,18 @@ export interface MultiAssetProxyAssetProxyRegisteredEventArgs extends DecodedLog assetProxy: string; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class MultiAssetProxyContract extends BaseContract { public assetProxies = { - async callAsync(index_0: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + index_0: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -72,8 +76,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -82,45 +87,54 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('assetProxies(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 + ]); return abiEncodedTransactionData; }, }; public addAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -128,41 +142,51 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as MultiAssetProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -172,8 +196,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -182,24 +207,24 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -208,7 +233,8 @@ export class MultiAssetProxyContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -218,8 +244,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -228,22 +255,24 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorities(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber): string { + getABIEncodedTransactionData( + index_0: BigNumber, + ): string { assert.isBigNumber('index_0', index_0); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0 + ]); return abiEncodedTransactionData; }, }; @@ -252,7 +281,8 @@ export class MultiAssetProxyContract extends BaseContract { assetProxyId: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxyId', assetProxyId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -262,8 +292,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -272,45 +303,54 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetProxyId: string): string { + getABIEncodedTransactionData( + assetProxyId: string, + ): string { assert.isString('assetProxyId', assetProxyId); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId + ]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -318,41 +358,51 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as MultiAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -362,8 +412,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -372,29 +423,33 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -403,7 +458,7 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; + const self = this as any as MultiAssetProxyContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -413,20 +468,20 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as MultiAssetProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as MultiAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -435,30 +490,33 @@ export class MultiAssetProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( + self, target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -467,59 +525,57 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as MultiAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( - target.toLowerCase(), - index, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as MultiAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), + index + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -530,11 +586,10 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -543,31 +598,36 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string, index: BigNumber): string { + getABIEncodedTransactionData( + target: string, + index: BigNumber, + ): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'removeAuthorizedAddressAtIndex(address,uint256)', - [target.toLowerCase(), index], - ); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -576,7 +636,7 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; + const self = this as any as MultiAssetProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -586,20 +646,20 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as MultiAssetProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as MultiAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, @@ -609,7 +669,8 @@ export class MultiAssetProxyContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -619,8 +680,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -629,47 +691,54 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorized(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ - index_0.toLowerCase(), - ]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public registerAssetProxy = { - async sendTransactionAsync(assetProxy: string, txData?: Partial | undefined): Promise { - assert.isString('assetProxy', assetProxy); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.registerAssetProxy.estimateGasAsync.bind(self, assetProxy.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + assetProxy: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('assetProxy', assetProxy); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.registerAssetProxy.estimateGasAsync.bind( + self, + assetProxy.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetProxy: string, @@ -677,45 +746,51 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxy', assetProxy); - const self = (this as any) as MultiAssetProxyContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetProxy', assetProxy); + const self = this as any as MultiAssetProxyContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(assetProxy: string, txData?: Partial | undefined): Promise { - assert.isString('assetProxy', assetProxy); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + assetProxy: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('assetProxy', assetProxy); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetProxy: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxy', assetProxy); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -725,8 +800,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -735,29 +811,33 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetProxy: string): string { + getABIEncodedTransactionData( + assetProxy: string, + ): string { assert.isString('assetProxy', assetProxy); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [ - assetProxy.toLowerCase(), - ]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -766,7 +846,7 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; + const self = this as any as MultiAssetProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -776,44 +856,51 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as MultiAssetProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as MultiAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -821,41 +908,51 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as MultiAssetProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as MultiAssetProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -865,8 +962,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -875,32 +973,33 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -913,13 +1012,15 @@ export class MultiAssetProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return MultiAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return MultiAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -929,13 +1030,17 @@ export class MultiAssetProxyContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -943,17 +1048,18 @@ export class MultiAssetProxyContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`MultiAssetProxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new MultiAssetProxyContract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new MultiAssetProxyContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -972,7 +1078,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -981,12 +1087,13 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'addAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1005,7 +1112,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1024,7 +1131,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1033,14 +1140,16 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -1052,7 +1161,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1065,14 +1174,16 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getProxyId', outputs: [ { @@ -1084,7 +1195,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1103,7 +1214,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1112,14 +1223,16 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'registerAssetProxy', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getAuthorizedAddresses', outputs: [ { @@ -1131,7 +1244,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1140,19 +1253,22 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -1167,10 +1283,11 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'AuthorizedAddressAdded', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1185,10 +1302,11 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'AuthorizedAddressRemoved', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1203,7 +1321,8 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'AssetProxyRegistered', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1277,15 +1396,15 @@ export class MultiAssetProxyContract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('MultiAssetProxy', MultiAssetProxyContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('MultiAssetProxy', MultiAssetProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( MultiAssetProxyContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts index bf0e009c32..bd2513638d 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -21,46 +21,23 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class OrderValidatorContract extends BaseContract { public getOrderAndTraderInfo = { async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAddress: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - [ - { orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, - { - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - } - ] + ): Promise<[{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}, {makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}] > { + assert.isString('takerAddress', takerAddress); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -70,11 +47,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments( - 'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', - [order, takerAddress.toLowerCase()], - ); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, + takerAddress.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -83,57 +59,27 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', - ); + const abiEncoder = self._lookupAbiEncoder('getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - [ - { orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, - { - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - } - ] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}, {makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - takerAddress: string, - ): string { + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + takerAddress: string, + ): string { + assert.isString('takerAddress', takerAddress); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', - [order, takerAddress.toLowerCase()], - ); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, + takerAddress.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -143,7 +89,8 @@ export class OrderValidatorContract extends BaseContract { assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[BigNumber, BigNumber]> { + ): Promise<[BigNumber, BigNumber] + > { assert.isString('target', target); assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -154,11 +101,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [ - target.toLowerCase(), - assetData, - ]); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [target.toLowerCase(), + assetData + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -167,62 +113,37 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getBalanceAndAllowance(address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber] + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string, assetData: string): string { + getABIEncodedTransactionData( + target: string, + assetData: string, + ): string { assert.isString('target', target); assert.isString('assetData', assetData); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [ - target.toLowerCase(), - assetData, - ]); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [target.toLowerCase(), + assetData + ]); return abiEncodedTransactionData; }, }; public getOrdersAndTradersInfo = { async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAddresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - [ - Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, - Array<{ - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - }> - ] + ): Promise<[Array<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}>, Array<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}>] > { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); @@ -234,11 +155,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments( - 'getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', - [orders, takerAddresses], - ); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, + takerAddresses + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -247,91 +167,37 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', - ); + const abiEncoder = self._lookupAbiEncoder('getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - [ - Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, - Array<{ - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - }> - ] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[Array<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}>, Array<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}>] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAddresses: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAddresses: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', - [orders, takerAddresses], - ); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, + takerAddresses + ]); return abiEncodedTransactionData; }, }; public getTradersInfo = { async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAddresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - Array<{ - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - }> + ): Promise > { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); @@ -343,11 +209,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments( - 'getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', - [orders, takerAddresses], - ); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, + takerAddresses + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -356,55 +221,27 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', - ); + const abiEncoder = self._lookupAbiEncoder('getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - Array<{ - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - }> - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAddresses: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAddresses: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', - [orders, takerAddresses], - ); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, + takerAddresses + ]); return abiEncodedTransactionData; }, }; @@ -414,7 +251,8 @@ export class OrderValidatorContract extends BaseContract { tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('token', token); assert.isBigNumber('tokenId', tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -425,11 +263,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [ - token.toLowerCase(), - tokenId, - ]); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [token.toLowerCase(), + tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -438,26 +275,27 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getERC721TokenOwner(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(token: string, tokenId: BigNumber): string { + getABIEncodedTransactionData( + token: string, + tokenId: BigNumber, + ): string { assert.isString('token', token); assert.isBigNumber('tokenId', tokenId); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [ - token.toLowerCase(), - tokenId, - ]); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [token.toLowerCase(), + tokenId + ]); return abiEncodedTransactionData; }, }; @@ -467,7 +305,8 @@ export class OrderValidatorContract extends BaseContract { assetData: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[BigNumber[], BigNumber[]]> { + ): Promise<[BigNumber[], BigNumber[]] + > { assert.isString('target', target); assert.isArray('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -478,11 +317,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [ - target.toLowerCase(), - assetData, - ]); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [target.toLowerCase(), + assetData + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -491,58 +329,39 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getBalancesAndAllowances(address,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[BigNumber[], BigNumber[]]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[BigNumber[], BigNumber[]] + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string, assetData: string[]): string { + getABIEncodedTransactionData( + target: string, + assetData: string[], + ): string { assert.isString('target', target); assert.isArray('assetData', assetData); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [ - target.toLowerCase(), - assetData, - ]); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [target.toLowerCase(), + assetData + ]); return abiEncodedTransactionData; }, }; public getTraderInfo = { async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAddress: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - }> { + ): Promise<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber} + > { + assert.isString('takerAddress', takerAddress); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -552,11 +371,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments( - 'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', - [order, takerAddress.toLowerCase()], - ); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, + takerAddress.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -565,61 +383,37 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', - ); + const abiEncoder = self._lookupAbiEncoder('getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - takerAddress: string, - ): string { + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + takerAddress: string, + ): string { + assert.isString('takerAddress', takerAddress); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', - [order, takerAddress.toLowerCase()], - ); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, + takerAddress.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - _exchange: string, - _zrxAssetData: string, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _exchange: string, + _zrxAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -632,15 +426,19 @@ export class OrderValidatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return OrderValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, _exchange, _zrxAssetData); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return OrderValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _exchange, +_zrxAssetData +); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - _exchange: string, - _zrxAssetData: string, + abiDependencies: { [contractName: string]: ContractAbi }, + _exchange: string, + _zrxAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -650,17 +448,23 @@ export class OrderValidatorContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange, _zrxAssetData] = BaseContract._formatABIDataItemList( + [_exchange, +_zrxAssetData +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange, _zrxAssetData], + [_exchange, +_zrxAssetData +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange, _zrxAssetData]); + const txData = deployInfo.encode(bytecode, [_exchange, +_zrxAssetData +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -668,17 +472,20 @@ export class OrderValidatorContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`OrderValidator successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new OrderValidatorContract(txReceipt.contractAddress as string, provider, txDefaults); - contractInstance.constructorArgs = [_exchange, _zrxAssetData]; + const contractInstance = new OrderValidatorContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + contractInstance.constructorArgs = [_exchange, +_zrxAssetData +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -733,7 +540,7 @@ export class OrderValidatorContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAddress', @@ -758,7 +565,7 @@ export class OrderValidatorContract extends BaseContract { name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ], + ] }, { name: 'traderInfo', @@ -796,14 +603,14 @@ export class OrderValidatorContract extends BaseContract { name: 'takerZrxAllowance', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -830,7 +637,7 @@ export class OrderValidatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -885,7 +692,7 @@ export class OrderValidatorContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAddresses', @@ -910,7 +717,7 @@ export class OrderValidatorContract extends BaseContract { name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ], + ] }, { name: 'tradersInfo', @@ -948,14 +755,14 @@ export class OrderValidatorContract extends BaseContract { name: 'takerZrxAllowance', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1010,7 +817,7 @@ export class OrderValidatorContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAddresses', @@ -1055,14 +862,14 @@ export class OrderValidatorContract extends BaseContract { name: 'takerZrxAllowance', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1085,7 +892,7 @@ export class OrderValidatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1112,7 +919,7 @@ export class OrderValidatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1167,7 +974,7 @@ export class OrderValidatorContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAddress', @@ -1212,14 +1019,14 @@ export class OrderValidatorContract extends BaseContract { name: 'takerZrxAllowance', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_exchange', @@ -1230,7 +1037,8 @@ export class OrderValidatorContract extends BaseContract { type: 'bytes', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', @@ -1238,11 +1046,11 @@ export class OrderValidatorContract extends BaseContract { ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('OrderValidator', OrderValidatorContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('OrderValidator', OrderValidatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts index 51de23f67f..dcb129edf7 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,6 +26,7 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type WETH9EventArgs = @@ -66,12 +64,17 @@ export interface WETH9WithdrawalEventArgs extends DecodedLogArgs { _value: BigNumber; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class WETH9Contract extends BaseContract { public name = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -80,7 +83,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; + const self = this as any as WETH9Contract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -90,45 +93,55 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as WETH9Contract; + getABIEncodedTransactionData( + ): string { + const self = this as any as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, }; public approve = { - async sendTransactionAsync(guy: string, wad: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('guy', guy); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind(self, guy.toLowerCase(), wad), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + guy: string, + wad: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('guy', guy); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), + wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind( + self, + guy.toLowerCase(), + wad + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( guy: string, @@ -137,48 +150,57 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('guy', guy); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const txHashPromise = self.approve.sendTransactionAsync(guy.toLowerCase(), wad, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('guy', guy); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const txHashPromise = self.approve.sendTransactionAsync(guy.toLowerCase(), + wad + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(guy: string, wad: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('guy', guy); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + guy: string, + wad: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('guy', guy); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), + wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( guy: string, wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('guy', guy); assert.isBigNumber('wad', wad); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -189,8 +211,10 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), + wad + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -199,31 +223,36 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(guy: string, wad: BigNumber): string { + getABIEncodedTransactionData( + guy: string, + wad: BigNumber, + ): string { assert.isString('guy', guy); assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ - guy.toLowerCase(), - wad, - ]); + const self = this as any as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), + wad + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -232,7 +261,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; + const self = this as any as WETH9Contract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -242,20 +271,20 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as WETH9Contract; + getABIEncodedTransactionData( + ): string { + const self = this as any as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -265,32 +294,36 @@ export class WETH9Contract extends BaseContract { src: string, dst: string, wad: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('src', src); - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + assert.isString('src', src); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), + dst.toLowerCase(), + wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, src.toLowerCase(), dst.toLowerCase(), - wad, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, src.toLowerCase(), dst.toLowerCase(), wad), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + wad + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( src: string, @@ -300,27 +333,25 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('src', src); - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - src.toLowerCase(), - dst.toLowerCase(), - wad, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('src', src); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const txHashPromise = self.transferFrom.sendTransactionAsync(src.toLowerCase(), + dst.toLowerCase(), + wad + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( src: string, @@ -328,29 +359,28 @@ export class WETH9Contract extends BaseContract { wad: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('src', src); - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - src.toLowerCase(), - dst.toLowerCase(), - wad, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('src', src); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), + dst.toLowerCase(), + wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( src: string, @@ -358,7 +388,8 @@ export class WETH9Contract extends BaseContract { wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('src', src); assert.isString('dst', dst); assert.isBigNumber('wad', wad); @@ -370,12 +401,11 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - src.toLowerCase(), - dst.toLowerCase(), - wad, - ]); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), + dst.toLowerCase(), + wad + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -384,51 +414,60 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(src: string, dst: string, wad: BigNumber): string { + getABIEncodedTransactionData( + src: string, + dst: string, + wad: BigNumber, + ): string { assert.isString('src', src); assert.isString('dst', dst); assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - src.toLowerCase(), - dst.toLowerCase(), - wad, - ]); + const self = this as any as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), + dst.toLowerCase(), + wad + ]); return abiEncodedTransactionData; }, }; public withdraw = { - async sendTransactionAsync(wad: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.withdraw.estimateGasAsync.bind(self, wad), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + wad: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.withdraw.estimateGasAsync.bind( + self, + wad + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( wad: BigNumber, @@ -436,41 +475,51 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const txHashPromise = self.withdraw.sendTransactionAsync(wad, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const txHashPromise = self.withdraw.sendTransactionAsync(wad + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(wad: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + wad: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + wad: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isBigNumber('wad', wad); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -480,8 +529,9 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -490,27 +540,33 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('withdraw(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(wad: BigNumber): string { + getABIEncodedTransactionData( + wad: BigNumber, + ): string { assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('withdraw(uint256)', [wad]); + const self = this as any as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('withdraw(uint256)', [wad + ]); return abiEncodedTransactionData; }, }; public decimals = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -519,7 +575,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; + const self = this as any as WETH9Contract; const encodedData = self._strictEncodeArguments('decimals()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -529,20 +585,20 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decimals()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as WETH9Contract; + getABIEncodedTransactionData( + ): string { + const self = this as any as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); return abiEncodedTransactionData; }, @@ -552,7 +608,8 @@ export class WETH9Contract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -562,8 +619,9 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase()]); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -572,29 +630,33 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [ - index_0.toLowerCase(), - ]); + const self = this as any as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -603,7 +665,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; + const self = this as any as WETH9Contract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -613,45 +675,55 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as WETH9Contract; + getABIEncodedTransactionData( + ): string { + const self = this as any as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, }; public transfer = { - async sendTransactionAsync(dst: string, wad: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind(self, dst.toLowerCase(), wad), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + dst: string, + wad: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), + wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind( + self, + dst.toLowerCase(), + wad + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( dst: string, @@ -660,48 +732,57 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const txHashPromise = self.transfer.sendTransactionAsync(dst.toLowerCase(), wad, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const txHashPromise = self.transfer.sendTransactionAsync(dst.toLowerCase(), + wad + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(dst: string, wad: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + dst: string, + wad: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), + wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( dst: string, wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('dst', dst); assert.isBigNumber('wad', wad); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -712,8 +793,10 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), + wad + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -722,87 +805,98 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(dst: string, wad: BigNumber): string { + getABIEncodedTransactionData( + dst: string, + wad: BigNumber, + ): string { assert.isString('dst', dst); assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ - dst.toLowerCase(), - wad, - ]); + const self = this as any as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), + wad + ]); return abiEncodedTransactionData; }, }; public deposit = { - async sendTransactionAsync(txData?: Partial | undefined): Promise { - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('deposit()', []); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.deposit.estimateGasAsync.bind(self), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + txData?: Partial | undefined, + ): Promise { + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('deposit()', []); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.deposit.estimateGasAsync.bind( + self, + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - const self = (this as any) as WETH9Contract; - const txHashPromise = self.deposit.sendTransactionAsync(txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const self = this as any as WETH9Contract; + const txHashPromise = self.deposit.sendTransactionAsync(txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(txData?: Partial | undefined): Promise { - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('deposit()', []); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + txData?: Partial | undefined, + ): Promise { + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('deposit()', []); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -811,7 +905,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; + const self = this as any as WETH9Contract; const encodedData = self._strictEncodeArguments('deposit()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -821,20 +915,20 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('deposit()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as WETH9Contract; + getABIEncodedTransactionData( + ): string { + const self = this as any as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('deposit()', []); return abiEncodedTransactionData; }, @@ -845,7 +939,8 @@ export class WETH9Contract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -856,11 +951,10 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [index_0.toLowerCase(), + index_1.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -869,34 +963,36 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string, index_1: string): string { + getABIEncodedTransactionData( + index_0: string, + index_1: string, + ): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = (this as any) as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const self = this as any as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [index_0.toLowerCase(), + index_1.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -909,13 +1005,15 @@ export class WETH9Contract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return WETH9Contract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return WETH9Contract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -925,13 +1023,17 @@ export class WETH9Contract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -939,19 +1041,21 @@ export class WETH9Contract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`WETH9 successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new WETH9Contract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new WETH9Contract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'name', outputs: [ { @@ -963,7 +1067,7 @@ export class WETH9Contract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -986,9 +1090,10 @@ export class WETH9Contract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'totalSupply', outputs: [ { @@ -1000,7 +1105,7 @@ export class WETH9Contract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1027,7 +1132,7 @@ export class WETH9Contract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1036,14 +1141,16 @@ export class WETH9Contract extends BaseContract { }, ], name: 'withdraw', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'decimals', outputs: [ { @@ -1055,7 +1162,7 @@ export class WETH9Contract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1074,9 +1181,10 @@ export class WETH9Contract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'symbol', outputs: [ { @@ -1088,7 +1196,7 @@ export class WETH9Contract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1111,16 +1219,18 @@ export class WETH9Contract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, - inputs: [], + inputs: [ + ], name: 'deposit', - outputs: [], + outputs: [ + ], payable: true, stateMutability: 'payable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1143,14 +1253,16 @@ export class WETH9Contract extends BaseContract { stateMutability: 'view', type: 'function', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: true, stateMutability: 'payable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -1170,10 +1282,11 @@ export class WETH9Contract extends BaseContract { }, ], name: 'Approval', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1193,10 +1306,11 @@ export class WETH9Contract extends BaseContract { }, ], name: 'Transfer', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1211,10 +1325,11 @@ export class WETH9Contract extends BaseContract { }, ], name: 'Deposit', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1229,7 +1344,8 @@ export class WETH9Contract extends BaseContract { }, ], name: 'Withdrawal', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1303,15 +1419,15 @@ export class WETH9Contract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('WETH9', WETH9Contract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('WETH9', WETH9Contract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( WETH9Contract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts index b0d5ff3df7..90feb73946 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,9 +26,12 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable -export type ZRXTokenEventArgs = ZRXTokenTransferEventArgs | ZRXTokenApprovalEventArgs; +export type ZRXTokenEventArgs = + | ZRXTokenTransferEventArgs + | ZRXTokenApprovalEventArgs; export enum ZRXTokenEvents { Transfer = 'Transfer', @@ -50,12 +50,17 @@ export interface ZRXTokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ZRXTokenContract extends BaseContract { public name = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -64,7 +69,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; + const self = this as any as ZRXTokenContract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -74,20 +79,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ZRXTokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, @@ -96,30 +101,33 @@ export class ZRXTokenContract extends BaseContract { async sendTransactionAsync( _spender: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind( + self, _spender.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _spender: string, @@ -128,55 +136,57 @@ export class ZRXTokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _spender: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _spender: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -187,11 +197,10 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -200,31 +209,36 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_spender: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _spender: string, + _value: BigNumber, + ): string { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); + const self = this as any as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -233,7 +247,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; + const self = this as any as ZRXTokenContract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -243,20 +257,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ZRXTokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -266,32 +280,36 @@ export class ZRXTokenContract extends BaseContract { _from: string, _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -301,27 +319,25 @@ export class ZRXTokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _value, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -329,29 +345,28 @@ export class ZRXTokenContract extends BaseContract { _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -359,7 +374,8 @@ export class ZRXTokenContract extends BaseContract { _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); @@ -371,12 +387,11 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -385,33 +400,39 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _value: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const self = this as any as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; public decimals = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -420,7 +441,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; + const self = this as any as ZRXTokenContract; const encodedData = self._strictEncodeArguments('decimals()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -430,20 +451,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decimals()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ZRXTokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); return abiEncodedTransactionData; }, @@ -453,7 +474,8 @@ export class ZRXTokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -463,8 +485,9 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -473,27 +496,33 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string): string { + getABIEncodedTransactionData( + _owner: string, + ): string { assert.isString('_owner', _owner); - const self = (this as any) as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -502,7 +531,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; + const self = this as any as ZRXTokenContract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -512,20 +541,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ZRXTokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, @@ -534,27 +563,33 @@ export class ZRXTokenContract extends BaseContract { async sendTransactionAsync( _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind( + self, + _to.toLowerCase(), + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -563,48 +598,57 @@ export class ZRXTokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + _to: string, + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -615,8 +659,10 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -625,26 +671,27 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_to: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _to: string, + _value: BigNumber, + ): string { assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ - _to.toLowerCase(), - _value, - ]); + const self = this as any as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; @@ -654,7 +701,8 @@ export class ZRXTokenContract extends BaseContract { _spender: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_spender', _spender); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -665,11 +713,10 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), + _spender.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -678,34 +725,36 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string, _spender: string): string { + getABIEncodedTransactionData( + _owner: string, + _spender: string, + ): string { assert.isString('_owner', _owner); assert.isString('_spender', _spender); - const self = (this as any) as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const self = this as any as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), + _spender.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -718,13 +767,15 @@ export class ZRXTokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return ZRXTokenContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); + return ZRXTokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -734,13 +785,17 @@ export class ZRXTokenContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -748,19 +803,21 @@ export class ZRXTokenContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ZRXToken successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ZRXTokenContract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new ZRXTokenContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'name', outputs: [ { @@ -771,7 +828,7 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: false, inputs: [ { @@ -793,9 +850,10 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'totalSupply', outputs: [ { @@ -806,7 +864,7 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: false, inputs: [ { @@ -832,9 +890,10 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'decimals', outputs: [ { @@ -845,7 +904,7 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: true, inputs: [ { @@ -863,9 +922,10 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'symbol', outputs: [ { @@ -876,7 +936,7 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: false, inputs: [ { @@ -898,7 +958,7 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: true, inputs: [ { @@ -920,13 +980,15 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: false, type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -946,10 +1008,11 @@ export class ZRXTokenContract extends BaseContract { }, ], name: 'Transfer', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -969,7 +1032,8 @@ export class ZRXTokenContract extends BaseContract { }, ], name: 'Approval', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1043,15 +1107,15 @@ export class ZRXTokenContract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('ZRXToken', ZRXTokenContract.ABI(), address, supportedProvider, txDefaults); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('ZRXToken', ZRXTokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( ZRXTokenContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen/test-cli/test_typescript/test/abi_gen_dummy_test.ts b/packages/abi-gen/test-cli/test_typescript/test/abi_gen_dummy_test.ts index 6f145a6a4f..b33bb5a57a 100644 --- a/packages/abi-gen/test-cli/test_typescript/test/abi_gen_dummy_test.ts +++ b/packages/abi-gen/test-cli/test_typescript/test/abi_gen_dummy_test.ts @@ -30,7 +30,12 @@ describe('AbiGenDummy Contract', () => { let abiGenDummy: AbiGenDummyContract; before(async () => { providerUtils.startProviderEngine(provider); - abiGenDummy = await AbiGenDummyContract.deployFrom0xArtifactAsync(artifacts.AbiGenDummy, provider, txDefaults); + abiGenDummy = await AbiGenDummyContract.deployFrom0xArtifactAsync( + artifacts.AbiGenDummy, + provider, + txDefaults, + artifacts, + ); await blockchainLifecycle.startAsync(); }); after(async () => { @@ -146,7 +151,12 @@ describe('Lib dummy contract', () => { await blockchainLifecycle.revertAsync(); }); before(async () => { - libDummy = await TestLibDummyContract.deployFrom0xArtifactAsync(artifacts.TestLibDummy, provider, txDefaults); + libDummy = await TestLibDummyContract.deployFrom0xArtifactAsync( + artifacts.TestLibDummy, + provider, + txDefaults, + artifacts, + ); }); beforeEach(async () => { await blockchainLifecycle.startAsync(); diff --git a/packages/base-contract/src/index.ts b/packages/base-contract/src/index.ts index 1e79cae696..09287a00c1 100644 --- a/packages/base-contract/src/index.ts +++ b/packages/base-contract/src/index.ts @@ -212,8 +212,8 @@ export class BaseContract { this._abiEncoderByFunctionSignature[functionSignature] = abiEncoder; this._web3Wrapper.abiDecoder.addABI(abi, contractName); }); - _.each(abiDependencies, (abi, name) => { - this._web3Wrapper.abiDecoder.addABI(abi, name); + _.each(abiDependencies, (abiDependency, contractDependencyName) => { + this._web3Wrapper.abiDecoder.addABI(abiDependency, contractDependencyName); }); } } diff --git a/packages/contract-wrappers/test/exchange_wrapper_test.ts b/packages/contract-wrappers/test/exchange_wrapper_test.ts index 29d3bbfa3c..bcb226e2ff 100644 --- a/packages/contract-wrappers/test/exchange_wrapper_test.ts +++ b/packages/contract-wrappers/test/exchange_wrapper_test.ts @@ -351,10 +351,12 @@ describe('ExchangeWrapper', () => { }); }); it('should throw when the ERC20 token has transfer restrictions', async () => { + const artifactDependencies = {}; const untransferrableToken = await DummyERC20TokenContract.deployFrom0xArtifactAsync( UntransferrableDummyERC20Token, provider, { from: userAddresses[0] }, + artifactDependencies, 'UntransferrableToken', 'UTT', new BigNumber(constants.ZRX_DECIMALS), diff --git a/packages/migrations/src/migration.ts b/packages/migrations/src/migration.ts index ecb9fb5b17..f637fb6e7e 100644 --- a/packages/migrations/src/migration.ts +++ b/packages/migrations/src/migration.ts @@ -29,11 +29,13 @@ export async function runMigrationsAsync( artifacts.ERC20Proxy, provider, txDefaults, + artifacts, ); const erc721Proxy = await wrappers.ERC721ProxyContract.deployFrom0xArtifactAsync( artifacts.ERC721Proxy, provider, txDefaults, + artifacts, ); // ZRX @@ -41,10 +43,16 @@ export async function runMigrationsAsync( artifacts.ZRXToken, provider, txDefaults, + artifacts, ); // Ether token - const etherToken = await wrappers.WETH9Contract.deployFrom0xArtifactAsync(artifacts.WETH9, provider, txDefaults); + const etherToken = await wrappers.WETH9Contract.deployFrom0xArtifactAsync( + artifacts.WETH9, + provider, + txDefaults, + artifacts, + ); // Exchange const zrxAssetData = assetDataUtils.encodeERC20AssetData(zrxToken.address); @@ -52,6 +60,7 @@ export async function runMigrationsAsync( artifacts.Exchange, provider, txDefaults, + artifacts, zrxAssetData, ); @@ -63,6 +72,7 @@ export async function runMigrationsAsync( artifacts.DummyERC20Token, provider, txDefaults, + artifacts, token.name, token.symbol, token.decimals, @@ -76,6 +86,7 @@ export async function runMigrationsAsync( artifacts.DummyERC721Token, provider, txDefaults, + artifacts, erc721TokenInfo[0].name, erc721TokenInfo[0].symbol, ); @@ -84,6 +95,7 @@ export async function runMigrationsAsync( artifacts.MultiAssetProxy, provider, txDefaults, + artifacts, ); await web3Wrapper.awaitTransactionSuccessAsync( @@ -126,6 +138,7 @@ export async function runMigrationsAsync( artifacts.Forwarder, provider, txDefaults, + artifacts, exchange.address, assetDataUtils.encodeERC20AssetData(zrxToken.address), assetDataUtils.encodeERC20AssetData(etherToken.address), @@ -136,6 +149,7 @@ export async function runMigrationsAsync( artifacts.OrderValidator, provider, txDefaults, + artifacts, exchange.address, zrxAssetData, ); @@ -145,6 +159,7 @@ export async function runMigrationsAsync( artifacts.DutchAuction, provider, txDefaults, + artifacts, exchange.address, ); @@ -159,6 +174,7 @@ export async function runMigrationsAsync( artifacts.AssetProxyOwner, provider, txDefaults, + artifacts, owners, [erc20Proxy.address, erc721Proxy.address, multiAssetProxy.address], confirmationsRequired, @@ -188,6 +204,7 @@ export async function runMigrationsAsync( artifacts.CoordinatorRegistry, provider, txDefaults, + artifacts, ); // Coordinator @@ -195,6 +212,7 @@ export async function runMigrationsAsync( artifacts.Coordinator, provider, txDefaults, + artifacts, exchange.address, ); diff --git a/packages/order-utils/test/exchange_transfer_simulator_test.ts b/packages/order-utils/test/exchange_transfer_simulator_test.ts index c26eb19078..2f3e18dec2 100644 --- a/packages/order-utils/test/exchange_transfer_simulator_test.ts +++ b/packages/order-utils/test/exchange_transfer_simulator_test.ts @@ -46,6 +46,7 @@ describe('ExchangeTransferSimulator', async () => { artifacts.ERC20Proxy, provider, txDefaults, + artifacts, ); erc20ProxyAddress = erc20Proxy.address; @@ -58,6 +59,7 @@ describe('ExchangeTransferSimulator', async () => { artifacts.DummyERC20Token, provider, txDefaults, + artifacts, name, symbol, decimals, From 88a7d9cca8fdfe58a5ee48060c8a45e7b85540d3 Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Fri, 26 Jul 2019 18:25:30 +0200 Subject: [PATCH 042/162] Updated changelogs for deployFrom0xArtifactAsync interface change --- contracts/asset-proxy/CHANGELOG.json | 9 +++++++++ contracts/coordinator/CHANGELOG.json | 10 ++++++++++ contracts/dev-utils/CHANGELOG.json | 9 +++++++++ contracts/erc1155/CHANGELOG.json | 10 ++++++++++ contracts/erc20/CHANGELOG.json | 9 +++++++++ contracts/erc721/CHANGELOG.json | 9 +++++++++ contracts/exchange-forwarder/CHANGELOG.json | 9 +++++++++ contracts/exchange-libs/CHANGELOG.json | 9 +++++++++ contracts/exchange/CHANGELOG.json | 9 +++++++++ contracts/extensions/CHANGELOG.json | 9 +++++++++ contracts/multisig/CHANGELOG.json | 9 +++++++++ contracts/utils/CHANGELOG.json | 9 +++++++++ packages/abi-gen-templates/CHANGELOG.json | 9 +++++++++ packages/base-contract/CHANGELOG.json | 9 +++++++++ packages/contract-wrappers/CHANGELOG.json | 9 +++++++++ packages/migrations/CHANGELOG.json | 9 +++++++++ packages/order-utils/CHANGELOG.json | 9 +++++++++ 17 files changed, 155 insertions(+) diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index 2bb182dc61..48715ec4ac 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.2.4", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "2.2.3", diff --git a/contracts/coordinator/CHANGELOG.json b/contracts/coordinator/CHANGELOG.json index 35cf589758..28f31eee5c 100644 --- a/contracts/coordinator/CHANGELOG.json +++ b/contracts/coordinator/CHANGELOG.json @@ -1,4 +1,14 @@ + [ + { + "version": "2.0.9", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "2.0.8", diff --git a/contracts/dev-utils/CHANGELOG.json b/contracts/dev-utils/CHANGELOG.json index 571e851bd5..36dd39311f 100644 --- a/contracts/dev-utils/CHANGELOG.json +++ b/contracts/dev-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "0.0.6", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "0.0.5", diff --git a/contracts/erc1155/CHANGELOG.json b/contracts/erc1155/CHANGELOG.json index fcea4be201..968eb49b0f 100644 --- a/contracts/erc1155/CHANGELOG.json +++ b/contracts/erc1155/CHANGELOG.json @@ -1,4 +1,14 @@ + [ + { + "version": "1.1.11", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "1.1.10", diff --git a/contracts/erc20/CHANGELOG.json b/contracts/erc20/CHANGELOG.json index 747f40cc48..7740c3154b 100644 --- a/contracts/erc20/CHANGELOG.json +++ b/contracts/erc20/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.2.10", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "2.2.9", diff --git a/contracts/erc721/CHANGELOG.json b/contracts/erc721/CHANGELOG.json index fd81866b54..ead118f9e6 100644 --- a/contracts/erc721/CHANGELOG.json +++ b/contracts/erc721/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.1.11", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "2.1.10", diff --git a/contracts/exchange-forwarder/CHANGELOG.json b/contracts/exchange-forwarder/CHANGELOG.json index 18d8efdbe0..d5da6350cb 100644 --- a/contracts/exchange-forwarder/CHANGELOG.json +++ b/contracts/exchange-forwarder/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "3.0.8", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "3.0.7", diff --git a/contracts/exchange-libs/CHANGELOG.json b/contracts/exchange-libs/CHANGELOG.json index 12596d4cfc..cf15a7a57c 100644 --- a/contracts/exchange-libs/CHANGELOG.json +++ b/contracts/exchange-libs/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "3.0.4", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "3.0.3", diff --git a/contracts/exchange/CHANGELOG.json b/contracts/exchange/CHANGELOG.json index 24ef8ca438..8a2cf00b79 100644 --- a/contracts/exchange/CHANGELOG.json +++ b/contracts/exchange/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.1.10", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "2.1.9", diff --git a/contracts/extensions/CHANGELOG.json b/contracts/extensions/CHANGELOG.json index 5f75e76dd4..23e2f74a9d 100644 --- a/contracts/extensions/CHANGELOG.json +++ b/contracts/extensions/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "4.0.4", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "4.0.3", diff --git a/contracts/multisig/CHANGELOG.json b/contracts/multisig/CHANGELOG.json index 813c863169..3754eea6ac 100644 --- a/contracts/multisig/CHANGELOG.json +++ b/contracts/multisig/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "3.1.10", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "3.1.9", diff --git a/contracts/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index a91f202bc3..a1d6cd67db 100644 --- a/contracts/utils/CHANGELOG.json +++ b/contracts/utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "3.1.11", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "3.1.10", diff --git a/packages/abi-gen-templates/CHANGELOG.json b/packages/abi-gen-templates/CHANGELOG.json index 42f193d1ea..74c93864a2 100644 --- a/packages/abi-gen-templates/CHANGELOG.json +++ b/packages/abi-gen-templates/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.4.0", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include log decode dependencies.", + "pr": 1995 + } + ] + }, { "version": "2.3.0", "changes": [ diff --git a/packages/base-contract/CHANGELOG.json b/packages/base-contract/CHANGELOG.json index 905177bbe8..4e373d25aa 100644 --- a/packages/base-contract/CHANGELOG.json +++ b/packages/base-contract/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "5.3.0", + "changes": [ + { + "note": "Updated interface to .deploy0xArtifactAsync to include log decode dependencies.", + "pr": 1995 + } + ] + }, { "version": "5.2.0", "changes": [ diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index 413273378d..c058c8810f 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "10.1.0", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include log decode dependencies.", + "pr": 1995 + } + ] + }, { "version": "10.0.0", "changes": [ diff --git a/packages/migrations/CHANGELOG.json b/packages/migrations/CHANGELOG.json index c340d1d50a..138259ab33 100644 --- a/packages/migrations/CHANGELOG.json +++ b/packages/migrations/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "4.1.11", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include log decode dependencies.", + "pr": 1995 + } + ] + }, { "timestamp": 1563957393, "version": "4.1.10", diff --git a/packages/order-utils/CHANGELOG.json b/packages/order-utils/CHANGELOG.json index 2e89288fd2..0497f2ed38 100644 --- a/packages/order-utils/CHANGELOG.json +++ b/packages/order-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "8.2.4", + "changes": [ + { + "note": "Updated calls to .deploy0xArtifactAsync to include log decode dependencies.", + "pr": 1995 + } + ] + }, { "version": "8.2.3", "changes": [ From 365c056b0ff16cb5ed3b61b3d245e1f3dfb11cec Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Fri, 26 Jul 2019 19:10:32 +0200 Subject: [PATCH 043/162] Added tests for for decoding log arguments when artifact dependencies are included/excluded --- contracts/utils/CHANGELOG.json | 4 ++ contracts/utils/compiler.json | 4 +- .../utils/contracts/test/TestLogDecoding.sol | 46 ++++++++++++ .../test/TestLogDecodingDownstream.sol | 46 ++++++++++++ contracts/utils/package.json | 2 +- contracts/utils/src/artifacts.ts | 6 +- contracts/utils/src/wrappers.ts | 2 + contracts/utils/test/log_decoding.ts | 70 +++++++++++++++++++ contracts/utils/tsconfig.json | 4 +- 9 files changed, 180 insertions(+), 4 deletions(-) create mode 100644 contracts/utils/contracts/test/TestLogDecoding.sol create mode 100644 contracts/utils/contracts/test/TestLogDecodingDownstream.sol create mode 100644 contracts/utils/test/log_decoding.ts diff --git a/contracts/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index a1d6cd67db..cbe11a0e09 100644 --- a/contracts/utils/CHANGELOG.json +++ b/contracts/utils/CHANGELOG.json @@ -5,6 +5,10 @@ { "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", "pr": 1995 + }, + { + "note": "Added tests for decoding log arguments when artifact dependencies are included/excluded.", + "pr": 1995 } ] }, diff --git a/contracts/utils/compiler.json b/contracts/utils/compiler.json index d132a71268..01ab211056 100644 --- a/contracts/utils/compiler.json +++ b/contracts/utils/compiler.json @@ -32,6 +32,8 @@ "src/interfaces/IOwnable.sol", "test/TestConstants.sol", "test/TestLibAddressArray.sol", - "test/TestLibBytes.sol" + "test/TestLibBytes.sol", + "test/TestLogDecoding.sol", + "test/TestLogDecodingDownstream.sol" ] } diff --git a/contracts/utils/contracts/test/TestLogDecoding.sol b/contracts/utils/contracts/test/TestLogDecoding.sol new file mode 100644 index 0000000000..b79b66200b --- /dev/null +++ b/contracts/utils/contracts/test/TestLogDecoding.sol @@ -0,0 +1,46 @@ +/* + + Copyright 2018 ZeroEx Intl. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +pragma solidity ^0.5.5; + +import "./TestLogDecodingDownstream.sol"; + +contract TestLogDecoding { + + /// @dev arbitrary event; fields to not matter. + event TestEvent( + uint256 foo, + bytes bar, + string car + ); + + /// @dev Emits a local event + function emitEvent() + public + { + emit TestEvent(256, hex'1234', "4321"); + } + + /// @dev Emits an event in a downstream contract + function emitEventDownstream() + public + { + TestLogDecodingDownstream testLogDecodingDownstream = new TestLogDecodingDownstream(); + ITestLogDecodingDownstream(testLogDecodingDownstream).emitEvent(); + } +} \ No newline at end of file diff --git a/contracts/utils/contracts/test/TestLogDecodingDownstream.sol b/contracts/utils/contracts/test/TestLogDecodingDownstream.sol new file mode 100644 index 0000000000..e977f93c82 --- /dev/null +++ b/contracts/utils/contracts/test/TestLogDecodingDownstream.sol @@ -0,0 +1,46 @@ +/* + + Copyright 2018 ZeroEx Intl. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +pragma solidity ^0.5.5; + +contract ITestLogDecodingDownstream { + + /// @dev Emits a local event + function emitEvent() external; +} + +contract TestLogDecodingDownstream is + ITestLogDecodingDownstream +{ + + /// @dev event with fields different than those in `TestLogDecoding.TestEvent` + /// Note: do not include this in the interface + /// For testing, we want to emit an event that is + /// not known by the calling contract. + event TestEvent2( + uint256 lorem, + string ipsum + ); + + /// @dev Emits a local event + function emitEvent() + external + { + emit TestEvent2(256, "4321"); + } +} \ No newline at end of file diff --git a/contracts/utils/package.json b/contracts/utils/package.json index 331a0c14e9..0b11673348 100644 --- a/contracts/utils/package.json +++ b/contracts/utils/package.json @@ -34,7 +34,7 @@ "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol" }, "config": { - "abis": "./generated-artifacts/@(Address|IOwnable|LibBytes|Ownable|ReentrancyGuard|SafeMath|TestConstants|TestLibAddressArray|TestLibBytes).json", + "abis": "./generated-artifacts/@(Address|IOwnable|LibBytes|Ownable|ReentrancyGuard|SafeMath|TestConstants|TestLibAddressArray|TestLibBytes|TestLogDecoding|TestLogDecodingDownstream).json", "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually." }, "repository": { diff --git a/contracts/utils/src/artifacts.ts b/contracts/utils/src/artifacts.ts index 04ebb5b525..e2b2104257 100644 --- a/contracts/utils/src/artifacts.ts +++ b/contracts/utils/src/artifacts.ts @@ -14,6 +14,8 @@ import * as SafeMath from '../generated-artifacts/SafeMath.json'; import * as TestConstants from '../generated-artifacts/TestConstants.json'; import * as TestLibAddressArray from '../generated-artifacts/TestLibAddressArray.json'; import * as TestLibBytes from '../generated-artifacts/TestLibBytes.json'; +import * as TestLogDecoding from '../generated-artifacts/TestLogDecoding.json'; +import * as TestLogDecodingDownstream from '../generated-artifacts/TestLogDecodingDownstream.json'; export const artifacts = { Address: Address as ContractArtifact, LibBytes: LibBytes as ContractArtifact, @@ -22,6 +24,8 @@ export const artifacts = { SafeMath: SafeMath as ContractArtifact, IOwnable: IOwnable as ContractArtifact, TestConstants: TestConstants as ContractArtifact, - TestLibBytes: TestLibBytes as ContractArtifact, TestLibAddressArray: TestLibAddressArray as ContractArtifact, + TestLibBytes: TestLibBytes as ContractArtifact, + TestLogDecoding: TestLogDecoding as ContractArtifact, + TestLogDecodingDownstream: TestLogDecodingDownstream as ContractArtifact, }; diff --git a/contracts/utils/src/wrappers.ts b/contracts/utils/src/wrappers.ts index 91a90bec6c..be616b060f 100644 --- a/contracts/utils/src/wrappers.ts +++ b/contracts/utils/src/wrappers.ts @@ -12,3 +12,5 @@ export * from '../generated-wrappers/safe_math'; export * from '../generated-wrappers/test_constants'; export * from '../generated-wrappers/test_lib_address_array'; export * from '../generated-wrappers/test_lib_bytes'; +export * from '../generated-wrappers/test_log_decoding'; +export * from '../generated-wrappers/test_log_decoding_downstream'; diff --git a/contracts/utils/test/log_decoding.ts b/contracts/utils/test/log_decoding.ts new file mode 100644 index 0000000000..f74a72a928 --- /dev/null +++ b/contracts/utils/test/log_decoding.ts @@ -0,0 +1,70 @@ +import { chaiSetup, provider, txDefaults, web3Wrapper } from '@0x/contracts-test-utils'; +import { BlockchainLifecycle } from '@0x/dev-utils'; +import { BigNumber } from '@0x/utils'; +import * as chai from 'chai'; +import { DecodedLogArgs, LogWithDecodedArgs } from 'ethereum-types'; + +import { artifacts, TestLogDecodingContract } from '../src'; + +chaiSetup.configure(); +const expect = chai.expect; + +const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); + +describe.only('TestLogDecoding', () => { + let testLogDecodingWithDependencies: TestLogDecodingContract; + let testLogDecodingDeployedWithoutDependencies: TestLogDecodingContract; + const expectedEvent = { + foo: new BigNumber(256), + bar: "0x1234", + car: "4321", + }; + const expectedDownstreamEvent = { + lorem: new BigNumber(256), + ipsum: "4321", + } + const emptyDependencyList = {}; + + before(async () => { + testLogDecodingDeployedWithoutDependencies = await TestLogDecodingContract.deployFrom0xArtifactAsync( + artifacts.TestLogDecoding, + provider, + txDefaults, + emptyDependencyList + ); + testLogDecodingWithDependencies = await TestLogDecodingContract.deployFrom0xArtifactAsync( + artifacts.TestLogDecoding, + provider, + txDefaults, + artifacts + ); + }); + beforeEach(async () => { + await blockchainLifecycle.startAsync(); + }); + afterEach(async () => { + await blockchainLifecycle.revertAsync(); + }); + + describe('Decoding Log Arguments', () => { + it('should decode locally emitted event args when no dependencies are passed into wrapper', async () => { + const txReceipt = await testLogDecodingDeployedWithoutDependencies.emitEvent.awaitTransactionSuccessAsync(); + expect(txReceipt.logs.length).to.be.equal(1); + expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.deep.equal(expectedEvent); + }); + it('should not event args when no dependencies are passed into wrapper', async () => { + const txReceipt = await testLogDecodingDeployedWithoutDependencies.emitEventDownstream.awaitTransactionSuccessAsync(); + expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.undefined();//(emptyArgs); + }); + it('should decode locally emitted event args when dependencies are passed into wrapper', async () => { + const txReceipt = await testLogDecodingWithDependencies.emitEvent.awaitTransactionSuccessAsync(); + expect(txReceipt.logs.length).to.be.equal(1); + expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.deep.equal(expectedEvent); + }); + it('should decode downstream event args when dependencies are passed into wrapper', async () => { + const txReceipt = await testLogDecodingWithDependencies.emitEventDownstream.awaitTransactionSuccessAsync(); + expect(txReceipt.logs.length).to.be.equal(1); + expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.deep.equal(expectedDownstreamEvent); + }); + }); +}); diff --git a/contracts/utils/tsconfig.json b/contracts/utils/tsconfig.json index dce54b101e..bb3f9566be 100644 --- a/contracts/utils/tsconfig.json +++ b/contracts/utils/tsconfig.json @@ -11,7 +11,9 @@ "generated-artifacts/SafeMath.json", "generated-artifacts/TestConstants.json", "generated-artifacts/TestLibAddressArray.json", - "generated-artifacts/TestLibBytes.json" + "generated-artifacts/TestLibBytes.json", + "generated-artifacts/TestLogDecoding.json", + "generated-artifacts/TestLogDecodingDownstream.json" ], "exclude": ["./deploy/solc/solc_bin"] } From 24783107babd3c021de2cce7a5c92c58c4413151 Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Fri, 26 Jul 2019 19:23:52 +0200 Subject: [PATCH 044/162] Updated generated contract wrappers and ran linter --- contracts/coordinator/CHANGELOG.json | 1 - contracts/erc1155/CHANGELOG.json | 1 - .../utils/contracts/test/TestLogDecoding.sol | 1 + .../test/TestLogDecodingDownstream.sol | 2 ++ contracts/utils/test/log_decoding.ts | 22 ++++++++++++------- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/contracts/coordinator/CHANGELOG.json b/contracts/coordinator/CHANGELOG.json index 28f31eee5c..5e4de0da30 100644 --- a/contracts/coordinator/CHANGELOG.json +++ b/contracts/coordinator/CHANGELOG.json @@ -1,4 +1,3 @@ - [ { "version": "2.0.9", diff --git a/contracts/erc1155/CHANGELOG.json b/contracts/erc1155/CHANGELOG.json index 968eb49b0f..38c845e207 100644 --- a/contracts/erc1155/CHANGELOG.json +++ b/contracts/erc1155/CHANGELOG.json @@ -1,4 +1,3 @@ - [ { "version": "1.1.11", diff --git a/contracts/utils/contracts/test/TestLogDecoding.sol b/contracts/utils/contracts/test/TestLogDecoding.sol index b79b66200b..145cebf143 100644 --- a/contracts/utils/contracts/test/TestLogDecoding.sol +++ b/contracts/utils/contracts/test/TestLogDecoding.sol @@ -20,6 +20,7 @@ pragma solidity ^0.5.5; import "./TestLogDecodingDownstream.sol"; + contract TestLogDecoding { /// @dev arbitrary event; fields to not matter. diff --git a/contracts/utils/contracts/test/TestLogDecodingDownstream.sol b/contracts/utils/contracts/test/TestLogDecodingDownstream.sol index e977f93c82..adb2ffe453 100644 --- a/contracts/utils/contracts/test/TestLogDecodingDownstream.sol +++ b/contracts/utils/contracts/test/TestLogDecodingDownstream.sol @@ -18,12 +18,14 @@ pragma solidity ^0.5.5; + contract ITestLogDecodingDownstream { /// @dev Emits a local event function emitEvent() external; } + contract TestLogDecodingDownstream is ITestLogDecodingDownstream { diff --git a/contracts/utils/test/log_decoding.ts b/contracts/utils/test/log_decoding.ts index f74a72a928..3422dc06b1 100644 --- a/contracts/utils/test/log_decoding.ts +++ b/contracts/utils/test/log_decoding.ts @@ -16,13 +16,13 @@ describe.only('TestLogDecoding', () => { let testLogDecodingDeployedWithoutDependencies: TestLogDecodingContract; const expectedEvent = { foo: new BigNumber(256), - bar: "0x1234", - car: "4321", + bar: '0x1234', + car: '4321', }; const expectedDownstreamEvent = { lorem: new BigNumber(256), - ipsum: "4321", - } + ipsum: '4321', + }; const emptyDependencyList = {}; before(async () => { @@ -30,13 +30,13 @@ describe.only('TestLogDecoding', () => { artifacts.TestLogDecoding, provider, txDefaults, - emptyDependencyList + emptyDependencyList, ); testLogDecodingWithDependencies = await TestLogDecodingContract.deployFrom0xArtifactAsync( artifacts.TestLogDecoding, provider, txDefaults, - artifacts + artifacts, ); }); beforeEach(async () => { @@ -50,21 +50,27 @@ describe.only('TestLogDecoding', () => { it('should decode locally emitted event args when no dependencies are passed into wrapper', async () => { const txReceipt = await testLogDecodingDeployedWithoutDependencies.emitEvent.awaitTransactionSuccessAsync(); expect(txReceipt.logs.length).to.be.equal(1); + // tslint:disable no-unnecessary-type-assertion expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.deep.equal(expectedEvent); }); it('should not event args when no dependencies are passed into wrapper', async () => { const txReceipt = await testLogDecodingDeployedWithoutDependencies.emitEventDownstream.awaitTransactionSuccessAsync(); - expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.undefined();//(emptyArgs); + // tslint:disable no-unnecessary-type-assertion + expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.undefined(); }); it('should decode locally emitted event args when dependencies are passed into wrapper', async () => { const txReceipt = await testLogDecodingWithDependencies.emitEvent.awaitTransactionSuccessAsync(); expect(txReceipt.logs.length).to.be.equal(1); + // tslint:disable no-unnecessary-type-assertion expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.deep.equal(expectedEvent); }); it('should decode downstream event args when dependencies are passed into wrapper', async () => { const txReceipt = await testLogDecodingWithDependencies.emitEventDownstream.awaitTransactionSuccessAsync(); expect(txReceipt.logs.length).to.be.equal(1); - expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.deep.equal(expectedDownstreamEvent); + // tslint:disable no-unnecessary-type-assertion + expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.deep.equal( + expectedDownstreamEvent, + ); }); }); }); From 2968dfb2aea0fa800ca4f0760e2498f3be27a457 Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Fri, 26 Jul 2019 19:36:04 +0200 Subject: [PATCH 045/162] Minor readability improvements --- contracts/asset-proxy/CHANGELOG.json | 2 +- contracts/coordinator/CHANGELOG.json | 2 +- contracts/dev-utils/CHANGELOG.json | 2 +- contracts/erc1155/CHANGELOG.json | 2 +- contracts/erc20/CHANGELOG.json | 2 +- contracts/erc721/CHANGELOG.json | 2 +- contracts/exchange-forwarder/CHANGELOG.json | 2 +- contracts/exchange-libs/CHANGELOG.json | 2 +- contracts/exchange/CHANGELOG.json | 2 +- contracts/extensions/CHANGELOG.json | 2 +- contracts/multisig/CHANGELOG.json | 2 +- contracts/utils/CHANGELOG.json | 4 ++-- contracts/utils/test/log_decoding.ts | 2 +- packages/abi-gen-templates/CHANGELOG.json | 6 +++++- packages/base-contract/CHANGELOG.json | 6 +++++- packages/contract-wrappers/CHANGELOG.json | 6 +++++- 16 files changed, 29 insertions(+), 17 deletions(-) diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index 48715ec4ac..bacae283f3 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -3,7 +3,7 @@ "version": "2.2.4", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } ] diff --git a/contracts/coordinator/CHANGELOG.json b/contracts/coordinator/CHANGELOG.json index 5e4de0da30..e0b850a28b 100644 --- a/contracts/coordinator/CHANGELOG.json +++ b/contracts/coordinator/CHANGELOG.json @@ -3,7 +3,7 @@ "version": "2.0.9", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } ] diff --git a/contracts/dev-utils/CHANGELOG.json b/contracts/dev-utils/CHANGELOG.json index 36dd39311f..5008c1e250 100644 --- a/contracts/dev-utils/CHANGELOG.json +++ b/contracts/dev-utils/CHANGELOG.json @@ -3,7 +3,7 @@ "version": "0.0.6", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } ] diff --git a/contracts/erc1155/CHANGELOG.json b/contracts/erc1155/CHANGELOG.json index 38c845e207..2467578051 100644 --- a/contracts/erc1155/CHANGELOG.json +++ b/contracts/erc1155/CHANGELOG.json @@ -3,7 +3,7 @@ "version": "1.1.11", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } ] diff --git a/contracts/erc20/CHANGELOG.json b/contracts/erc20/CHANGELOG.json index 7740c3154b..c6eb414b52 100644 --- a/contracts/erc20/CHANGELOG.json +++ b/contracts/erc20/CHANGELOG.json @@ -3,7 +3,7 @@ "version": "2.2.10", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } ] diff --git a/contracts/erc721/CHANGELOG.json b/contracts/erc721/CHANGELOG.json index ead118f9e6..c4b04e2b33 100644 --- a/contracts/erc721/CHANGELOG.json +++ b/contracts/erc721/CHANGELOG.json @@ -3,7 +3,7 @@ "version": "2.1.11", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } ] diff --git a/contracts/exchange-forwarder/CHANGELOG.json b/contracts/exchange-forwarder/CHANGELOG.json index d5da6350cb..0ab43b00e5 100644 --- a/contracts/exchange-forwarder/CHANGELOG.json +++ b/contracts/exchange-forwarder/CHANGELOG.json @@ -3,7 +3,7 @@ "version": "3.0.8", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } ] diff --git a/contracts/exchange-libs/CHANGELOG.json b/contracts/exchange-libs/CHANGELOG.json index cf15a7a57c..6b10657a53 100644 --- a/contracts/exchange-libs/CHANGELOG.json +++ b/contracts/exchange-libs/CHANGELOG.json @@ -3,7 +3,7 @@ "version": "3.0.4", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } ] diff --git a/contracts/exchange/CHANGELOG.json b/contracts/exchange/CHANGELOG.json index 8a2cf00b79..aec0453f09 100644 --- a/contracts/exchange/CHANGELOG.json +++ b/contracts/exchange/CHANGELOG.json @@ -3,7 +3,7 @@ "version": "2.1.10", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } ] diff --git a/contracts/extensions/CHANGELOG.json b/contracts/extensions/CHANGELOG.json index 23e2f74a9d..88d1b84925 100644 --- a/contracts/extensions/CHANGELOG.json +++ b/contracts/extensions/CHANGELOG.json @@ -3,7 +3,7 @@ "version": "4.0.4", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } ] diff --git a/contracts/multisig/CHANGELOG.json b/contracts/multisig/CHANGELOG.json index 3754eea6ac..f0b0252ff7 100644 --- a/contracts/multisig/CHANGELOG.json +++ b/contracts/multisig/CHANGELOG.json @@ -3,7 +3,7 @@ "version": "3.1.10", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } ] diff --git a/contracts/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index cbe11a0e09..f3b4c95b34 100644 --- a/contracts/utils/CHANGELOG.json +++ b/contracts/utils/CHANGELOG.json @@ -1,9 +1,9 @@ [ { - "version": "3.1.11", + "version": "3.2.0", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include artifact dependencies.", + "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 }, { diff --git a/contracts/utils/test/log_decoding.ts b/contracts/utils/test/log_decoding.ts index 3422dc06b1..141731892a 100644 --- a/contracts/utils/test/log_decoding.ts +++ b/contracts/utils/test/log_decoding.ts @@ -11,7 +11,7 @@ const expect = chai.expect; const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); -describe.only('TestLogDecoding', () => { +describe('TestLogDecoding', () => { let testLogDecodingWithDependencies: TestLogDecodingContract; let testLogDecodingDeployedWithoutDependencies: TestLogDecodingContract; const expectedEvent = { diff --git a/packages/abi-gen-templates/CHANGELOG.json b/packages/abi-gen-templates/CHANGELOG.json index 74c93864a2..05a8b3878e 100644 --- a/packages/abi-gen-templates/CHANGELOG.json +++ b/packages/abi-gen-templates/CHANGELOG.json @@ -3,7 +3,11 @@ "version": "2.4.0", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include log decode dependencies.", + "note": "Updated interface to `deployFrom0xArtifactAsync` to include log decode dependencies.", + "pr": 1995 + }, + { + "note": "Updated interface to `deployAsync` to include log decode dependencies.", "pr": 1995 } ] diff --git a/packages/base-contract/CHANGELOG.json b/packages/base-contract/CHANGELOG.json index 4e373d25aa..19faddc6aa 100644 --- a/packages/base-contract/CHANGELOG.json +++ b/packages/base-contract/CHANGELOG.json @@ -3,7 +3,11 @@ "version": "5.3.0", "changes": [ { - "note": "Updated interface to .deploy0xArtifactAsync to include log decode dependencies.", + "note": "Updated interface to `deployFrom0xArtifactAsync` to include log decode dependencies.", + "pr": 1995 + }, + { + "note": "Updated interface to `deployAsync` to include log decode dependencies.", "pr": 1995 } ] diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index c058c8810f..6a9011b151 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -3,7 +3,11 @@ "version": "10.1.0", "changes": [ { - "note": "Updated calls to .deploy0xArtifactAsync to include log decode dependencies.", + "note": "Updated interface to `deployFrom0xArtifactAsync` to include log decode dependencies.", + "pr": 1995 + }, + { + "note": "Updated interface to `deployAsync` to include log decode dependencies.", "pr": 1995 } ] From ea8fc1d93f12bf17256e103bf5553fbdf590b56a Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Fri, 26 Jul 2019 19:45:19 +0200 Subject: [PATCH 046/162] updated test output from abi-gen to account for changes to `deployFrom0xArtifactAsync` and `deployAsync` --- .../generated-wrappers/asset_proxy_owner.ts | 2355 ++++---- .../src/generated-wrappers/coordinator.ts | 623 +- .../coordinator_registry.ts | 252 +- .../generated-wrappers/dummy_erc20_token.ts | 1301 ++--- .../generated-wrappers/dummy_erc721_token.ts | 1648 +++--- .../src/generated-wrappers/dutch_auction.ts | 686 ++- .../src/generated-wrappers/erc20_proxy.ts | 822 ++- .../src/generated-wrappers/erc20_token.ts | 644 +- .../src/generated-wrappers/erc721_proxy.ts | 822 ++- .../src/generated-wrappers/erc721_token.ts | 1068 ++-- .../generated-wrappers/eth_balance_checker.ts | 78 +- .../src/generated-wrappers/exchange.ts | 5183 ++++++++++------- .../src/generated-wrappers/forwarder.ts | 1317 +++-- .../src/generated-wrappers/i_asset_proxy.ts | 906 ++- .../src/generated-wrappers/i_validator.ts | 83 +- .../src/generated-wrappers/i_wallet.ts | 75 +- .../generated-wrappers/multi_asset_proxy.ts | 1043 ++-- .../src/generated-wrappers/order_validator.ts | 588 +- .../src/generated-wrappers/weth9.ts | 1029 ++-- .../src/generated-wrappers/zrx_token.ts | 733 ++- .../typescript/abi_gen_dummy.ts | 27 +- .../expected-output/typescript/lib_dummy.ts | 27 +- .../typescript/test_lib_dummy.ts | 34 +- 23 files changed, 11161 insertions(+), 10183 deletions(-) diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts index 98f51c02d7..75c19b4e4f 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -111,7 +114,6 @@ export interface AssetProxyOwnerRequirementChangeEventArgs extends DecodedLogArg required: BigNumber; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -121,8 +123,7 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -132,9 +133,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('owners(uint256)', [index_0 - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('owners(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -143,54 +143,45 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - ): string { + getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('owners(uint256)', [index_0 - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('owners(uint256)', [index_0]); return abiEncodedTransactionData; }, }; public removeOwner = { - async sendTransactionAsync( - owner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeOwner.estimateGasAsync.bind( - self, - owner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeOwner.estimateGasAsync.bind(self, owner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( owner: string, @@ -198,51 +189,41 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.removeOwner.sendTransactionAsync(owner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('owner', owner); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.removeOwner.sendTransactionAsync(owner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - owner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(owner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - owner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(owner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('owner', owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -252,9 +233,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -263,54 +243,47 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - owner: string, - ): string { + getABIEncodedTransactionData(owner: string): string { assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeOwner(address)', [ + owner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public revokeConfirmation = { - async sendTransactionAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.revokeConfirmation.estimateGasAsync.bind( - self, - transactionId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.revokeConfirmation.estimateGasAsync.bind(self, transactionId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -318,51 +291,45 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.revokeConfirmation.sendTransactionAsync(transactionId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.revokeConfirmation.sendTransactionAsync(transactionId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -372,9 +339,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -383,24 +349,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('revokeConfirmation(uint256)', [ + transactionId, + ]); return abiEncodedTransactionData; }, }; @@ -409,8 +375,7 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -420,9 +385,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -431,24 +395,22 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]); return abiEncodedTransactionData; }, }; @@ -458,8 +420,7 @@ export class AssetProxyOwnerContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -470,10 +431,11 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmations(uint256,address)', [index_0, - index_1.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmations(uint256,address)', [ + index_0, + index_1.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -482,57 +444,51 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - index_1: string, - ): string { + getABIEncodedTransactionData(index_0: BigNumber, index_1: string): string { assert.isBigNumber('index_0', index_0); assert.isString('index_1', index_1); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmations(uint256,address)', [index_0, - index_1.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmations(uint256,address)', [ + index_0, + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public executeRemoveAuthorizedAddressAtIndex = { - async sendTransactionAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeRemoveAuthorizedAddressAtIndex.estimateGasAsync.bind( - self, - transactionId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [ + transactionId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeRemoveAuthorizedAddressAtIndex.estimateGasAsync.bind(self, transactionId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -540,51 +496,50 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.executeRemoveAuthorizedAddressAtIndex.sendTransactionAsync(transactionId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.executeRemoveAuthorizedAddressAtIndex.sendTransactionAsync( + transactionId, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [ + transactionId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -594,9 +549,10 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [ + transactionId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -605,33 +561,30 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('executeRemoveAuthorizedAddressAtIndex(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'executeRemoveAuthorizedAddressAtIndex(uint256)', + [transactionId], + ); return abiEncodedTransactionData; }, }; public secondsTimeLocked = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -640,7 +593,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; + const self = (this as any) as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('secondsTimeLocked()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -650,20 +603,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as AssetProxyOwnerContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('secondsTimeLocked()', []); return abiEncodedTransactionData; }, @@ -674,8 +627,7 @@ export class AssetProxyOwnerContract extends BaseContract { executed: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBoolean('pending', pending); assert.isBoolean('executed', executed); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -686,10 +638,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, - executed - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, executed]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -698,27 +648,26 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - pending: boolean, - executed: boolean, - ): string { + getABIEncodedTransactionData(pending: boolean, executed: boolean): string { assert.isBoolean('pending', pending); assert.isBoolean('executed', executed); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, - executed - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [ + pending, + executed, + ]); return abiEncodedTransactionData; }, }; @@ -726,33 +675,30 @@ export class AssetProxyOwnerContract extends BaseContract { async sendTransactionAsync( assetProxyContract: string, isRegistered: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('assetProxyContract', assetProxyContract); - assert.isBoolean('isRegistered', isRegistered); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), - isRegistered - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.registerAssetProxy.estimateGasAsync.bind( - self, + assert.isString('assetProxyContract', assetProxyContract); + assert.isBoolean('isRegistered', isRegistered); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ assetProxyContract.toLowerCase(), - isRegistered - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + isRegistered, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.registerAssetProxy.estimateGasAsync.bind(self, assetProxyContract.toLowerCase(), isRegistered), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetProxyContract: string, @@ -761,57 +707,59 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxyContract', assetProxyContract); - assert.isBoolean('isRegistered', isRegistered); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxyContract.toLowerCase(), - isRegistered - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetProxyContract', assetProxyContract); + assert.isBoolean('isRegistered', isRegistered); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync( + assetProxyContract.toLowerCase(), + isRegistered, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( assetProxyContract: string, isRegistered: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('assetProxyContract', assetProxyContract); - assert.isBoolean('isRegistered', isRegistered); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), - isRegistered - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('assetProxyContract', assetProxyContract); + assert.isBoolean('isRegistered', isRegistered); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ + assetProxyContract.toLowerCase(), + isRegistered, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetProxyContract: string, isRegistered: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxyContract', assetProxyContract); assert.isBoolean('isRegistered', isRegistered); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -822,10 +770,11 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), - isRegistered - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ + assetProxyContract.toLowerCase(), + isRegistered, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -834,57 +783,49 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetProxyContract: string, - isRegistered: boolean, - ): string { + getABIEncodedTransactionData(assetProxyContract: string, isRegistered: boolean): string { assert.isString('assetProxyContract', assetProxyContract); assert.isBoolean('isRegistered', isRegistered); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), - isRegistered - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ + assetProxyContract.toLowerCase(), + isRegistered, + ]); return abiEncodedTransactionData; }, }; public addOwner = { - async sendTransactionAsync( - owner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addOwner.estimateGasAsync.bind( - self, - owner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addOwner.estimateGasAsync.bind(self, owner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( owner: string, @@ -892,51 +833,41 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.addOwner.sendTransactionAsync(owner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('owner', owner); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.addOwner.sendTransactionAsync(owner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - owner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(owner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - owner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(owner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('owner', owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -946,9 +877,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -957,24 +887,22 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - owner: string, - ): string { + getABIEncodedTransactionData(owner: string): string { assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); return abiEncodedTransactionData; }, }; @@ -983,8 +911,7 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -994,9 +921,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1005,54 +931,48 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId]); return abiEncodedTransactionData; }, }; public changeTimeLock = { async sendTransactionAsync( _secondsTimeLocked: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.changeTimeLock.estimateGasAsync.bind( - self, - _secondsTimeLocked - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.changeTimeLock.estimateGasAsync.bind(self, _secondsTimeLocked), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _secondsTimeLocked: BigNumber, @@ -1060,51 +980,45 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.changeTimeLock.sendTransactionAsync(_secondsTimeLocked - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.changeTimeLock.sendTransactionAsync(_secondsTimeLocked, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - _secondsTimeLocked: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(_secondsTimeLocked: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _secondsTimeLocked: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1114,9 +1028,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1125,24 +1038,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _secondsTimeLocked: BigNumber, - ): string { + getABIEncodedTransactionData(_secondsTimeLocked: BigNumber): string { assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('changeTimeLock(uint256)', [ + _secondsTimeLocked, + ]); return abiEncodedTransactionData; }, }; @@ -1151,8 +1064,7 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1162,9 +1074,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1173,24 +1084,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isAssetProxyRegistered(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [ + index_0.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; @@ -1199,8 +1110,7 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1210,9 +1120,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1221,24 +1130,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmationCount(uint256)', [ + transactionId, + ]); return abiEncodedTransactionData; }, }; @@ -1247,8 +1156,7 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, BigNumber, string, boolean] - > { + ): Promise<[string, BigNumber, string, boolean]> { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1258,9 +1166,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('transactions(uint256)', [index_0 - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('transactions(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1269,33 +1176,27 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean]>(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - ): string { + getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactions(uint256)', [index_0 - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transactions(uint256)', [index_0]); return abiEncodedTransactionData; }, }; public getOwners = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1304,7 +1205,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; + const self = (this as any) as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('getOwners()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1314,20 +1215,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getOwners()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as AssetProxyOwnerContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('getOwners()', []); return abiEncodedTransactionData; }, @@ -1340,8 +1241,7 @@ export class AssetProxyOwnerContract extends BaseContract { executed: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('from', from); assert.isBigNumber('to', to); assert.isBoolean('pending', pending); @@ -1354,12 +1254,13 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [from, - to, - pending, - executed - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [ + from, + to, + pending, + executed, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1368,33 +1269,28 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - from: BigNumber, - to: BigNumber, - pending: boolean, - executed: boolean, - ): string { + getABIEncodedTransactionData(from: BigNumber, to: BigNumber, pending: boolean, executed: boolean): string { assert.isBigNumber('from', from); assert.isBigNumber('to', to); assert.isBoolean('pending', pending); assert.isBoolean('executed', executed); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [from, - to, - pending, - executed - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getTransactionIds(uint256,uint256,bool,bool)', + [from, to, pending, executed], + ); return abiEncodedTransactionData; }, }; @@ -1403,8 +1299,7 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1414,9 +1309,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1425,33 +1319,27 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId]); return abiEncodedTransactionData; }, }; public transactionCount = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1460,7 +1348,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; + const self = (this as any) as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('transactionCount()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1470,51 +1358,44 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transactionCount()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as AssetProxyOwnerContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('transactionCount()', []); return abiEncodedTransactionData; }, }; public changeRequirement = { - async sendTransactionAsync( - _required: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('_required', _required); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.changeRequirement.estimateGasAsync.bind( - self, - _required - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(_required: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_required', _required); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.changeRequirement.estimateGasAsync.bind(self, _required), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _required: BigNumber, @@ -1522,51 +1403,45 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_required', _required); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.changeRequirement.sendTransactionAsync(_required - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('_required', _required); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.changeRequirement.sendTransactionAsync(_required, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - _required: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('_required', _required); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(_required: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_required', _required); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _required: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_required', _required); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1576,9 +1451,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1587,54 +1461,45 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _required: BigNumber, - ): string { + getABIEncodedTransactionData(_required: BigNumber): string { assert.isBigNumber('_required', _required); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('changeRequirement(uint256)', [_required - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); return abiEncodedTransactionData; }, }; public confirmTransaction = { - async sendTransactionAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.confirmTransaction.estimateGasAsync.bind( - self, - transactionId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.confirmTransaction.estimateGasAsync.bind(self, transactionId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -1642,51 +1507,45 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.confirmTransaction.sendTransactionAsync(transactionId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.confirmTransaction.sendTransactionAsync(transactionId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1696,9 +1555,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1707,24 +1565,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmTransaction(uint256)', [ + transactionId, + ]); return abiEncodedTransactionData; }, }; @@ -1733,36 +1591,32 @@ export class AssetProxyOwnerContract extends BaseContract { destination: string, value: BigNumber, data: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), - value, - data - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.submitTransaction.estimateGasAsync.bind( - self, + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ destination.toLowerCase(), value, - data - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.submitTransaction.estimateGasAsync.bind(self, destination.toLowerCase(), value, data), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( destination: string, @@ -1772,25 +1626,27 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.submitTransaction.sendTransactionAsync(destination.toLowerCase(), - value, - data - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.submitTransaction.sendTransactionAsync( + destination.toLowerCase(), + value, + data, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( destination: string, @@ -1798,28 +1654,29 @@ export class AssetProxyOwnerContract extends BaseContract { data: string, txData?: Partial | undefined, ): Promise { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), - value, - data - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ + destination.toLowerCase(), + value, + data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( destination: string, @@ -1827,8 +1684,7 @@ export class AssetProxyOwnerContract extends BaseContract { data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('destination', destination); assert.isBigNumber('value', value); assert.isString('data', data); @@ -1840,11 +1696,12 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), - value, - data - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ + destination.toLowerCase(), + value, + data, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1853,30 +1710,28 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - destination: string, - value: BigNumber, - data: string, - ): string { + getABIEncodedTransactionData(destination: string, value: BigNumber, data: string): string { assert.isString('destination', destination); assert.isBigNumber('value', value); assert.isString('data', data); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), - value, - data - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ + destination.toLowerCase(), + value, + data, + ]); return abiEncodedTransactionData; }, }; @@ -1885,8 +1740,7 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1896,9 +1750,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0 - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1907,33 +1760,27 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - ): string { + getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0 - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0]); return abiEncodedTransactionData; }, }; public MAX_OWNER_COUNT = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1942,7 +1789,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; + const self = (this as any) as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1952,30 +1799,26 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as AssetProxyOwnerContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); return abiEncodedTransactionData; }, }; public required = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1984,7 +1827,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; + const self = (this as any) as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('required()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1994,20 +1837,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('required()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as AssetProxyOwnerContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('required()', []); return abiEncodedTransactionData; }, @@ -2016,33 +1859,30 @@ export class AssetProxyOwnerContract extends BaseContract { async sendTransactionAsync( owner: string, newOwner: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), - newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.replaceOwner.estimateGasAsync.bind( - self, + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ owner.toLowerCase(), - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + newOwner.toLowerCase(), + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.replaceOwner.estimateGasAsync.bind(self, owner.toLowerCase(), newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( owner: string, @@ -2051,57 +1891,55 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.replaceOwner.sendTransactionAsync(owner.toLowerCase(), - newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.replaceOwner.sendTransactionAsync( + owner.toLowerCase(), + newOwner.toLowerCase(), + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - owner: string, - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), - newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(owner: string, newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( owner: string, newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('owner', owner); assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2112,10 +1950,11 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), - newOwner.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2124,57 +1963,49 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - owner: string, - newOwner: string, - ): string { + getABIEncodedTransactionData(owner: string, newOwner: string): string { assert.isString('owner', owner); assert.isString('newOwner', newOwner); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), - newOwner.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public executeTransaction = { - async sendTransactionAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeTransaction.estimateGasAsync.bind( - self, - transactionId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeTransaction.estimateGasAsync.bind(self, transactionId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -2182,51 +2013,45 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync(transactionId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.executeTransaction.sendTransactionAsync(transactionId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -2236,9 +2061,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2247,37 +2071,37 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256)', [ + transactionId, + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _owners: string[], - _assetProxyContracts: string[], - _required: BigNumber, - _secondsTimeLocked: BigNumber, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _owners: string[], + _assetProxyContracts: string[], + _required: BigNumber, + _secondsTimeLocked: BigNumber, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -2290,12 +2114,23 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return AssetProxyOwnerContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _owners, -_assetProxyContracts, -_required, -_secondsTimeLocked -); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return AssetProxyOwnerContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + abiDependencies, + _owners, + _assetProxyContracts, + _required, + _secondsTimeLocked, + ); } public static async deployAsync( bytecode: string, @@ -2303,10 +2138,10 @@ _secondsTimeLocked supportedProvider: SupportedProvider, txDefaults: Partial, abiDependencies: { [contractName: string]: ContractAbi }, - _owners: string[], - _assetProxyContracts: string[], - _required: BigNumber, - _secondsTimeLocked: BigNumber, + _owners: string[], + _assetProxyContracts: string[], + _required: BigNumber, + _secondsTimeLocked: BigNumber, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -2316,29 +2151,17 @@ _secondsTimeLocked ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_owners, -_assetProxyContracts, -_required, -_secondsTimeLocked -] = BaseContract._formatABIDataItemList( + [_owners, _assetProxyContracts, _required, _secondsTimeLocked] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_owners, -_assetProxyContracts, -_required, -_secondsTimeLocked -], + [_owners, _assetProxyContracts, _required, _secondsTimeLocked], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_owners, -_assetProxyContracts, -_required, -_secondsTimeLocked -]); + const txData = deployInfo.encode(bytecode, [_owners, _assetProxyContracts, _required, _secondsTimeLocked]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -2346,22 +2169,22 @@ _secondsTimeLocked logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`AssetProxyOwner successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new AssetProxyOwnerContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); - contractInstance.constructorArgs = [_owners, -_assetProxyContracts, -_required, -_secondsTimeLocked -]; + const contractInstance = new AssetProxyOwnerContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); + contractInstance.constructorArgs = [_owners, _assetProxyContracts, _required, _secondsTimeLocked]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -2380,7 +2203,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2389,13 +2212,12 @@ _secondsTimeLocked }, ], name: 'removeOwner', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2404,13 +2226,12 @@ _secondsTimeLocked }, ], name: 'revokeConfirmation', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2429,7 +2250,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2452,7 +2273,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2461,16 +2282,14 @@ _secondsTimeLocked }, ], name: 'executeRemoveAuthorizedAddressAtIndex', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'secondsTimeLocked', outputs: [ { @@ -2482,7 +2301,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2505,7 +2324,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2518,13 +2337,12 @@ _secondsTimeLocked }, ], name: 'registerAssetProxy', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2533,13 +2351,12 @@ _secondsTimeLocked }, ], name: 'addOwner', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2558,7 +2375,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2567,13 +2384,12 @@ _secondsTimeLocked }, ], name: 'changeTimeLock', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2592,7 +2408,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2611,7 +2427,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2642,10 +2458,9 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getOwners', outputs: [ { @@ -2657,7 +2472,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2688,7 +2503,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2707,10 +2522,9 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'transactionCount', outputs: [ { @@ -2722,7 +2536,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2731,13 +2545,12 @@ _secondsTimeLocked }, ], name: 'changeRequirement', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2746,13 +2559,12 @@ _secondsTimeLocked }, ], name: 'confirmTransaction', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2779,7 +2591,7 @@ _secondsTimeLocked stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2798,10 +2610,9 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'MAX_OWNER_COUNT', outputs: [ { @@ -2813,10 +2624,9 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'required', outputs: [ { @@ -2828,7 +2638,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2841,13 +2651,12 @@ _secondsTimeLocked }, ], name: 'replaceOwner', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2856,13 +2665,12 @@ _secondsTimeLocked }, ], name: 'executeTransaction', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_owners', @@ -2881,22 +2689,19 @@ _secondsTimeLocked type: 'uint256', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: true, stateMutability: 'payable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -2911,11 +2716,10 @@ _secondsTimeLocked }, ], name: 'AssetProxyRegistration', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2930,11 +2734,10 @@ _secondsTimeLocked }, ], name: 'ConfirmationTimeSet', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2944,11 +2747,10 @@ _secondsTimeLocked }, ], name: 'TimeLockChange', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2963,11 +2765,10 @@ _secondsTimeLocked }, ], name: 'Confirmation', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2982,11 +2783,10 @@ _secondsTimeLocked }, ], name: 'Revocation', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2996,11 +2796,10 @@ _secondsTimeLocked }, ], name: 'Submission', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -3010,11 +2809,10 @@ _secondsTimeLocked }, ], name: 'Execution', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -3024,11 +2822,10 @@ _secondsTimeLocked }, ], name: 'ExecutionFailure', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -3043,11 +2840,10 @@ _secondsTimeLocked }, ], name: 'Deposit', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -3057,11 +2853,10 @@ _secondsTimeLocked }, ], name: 'OwnerAddition', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -3071,11 +2866,10 @@ _secondsTimeLocked }, ], name: 'OwnerRemoval', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -3085,8 +2879,7 @@ _secondsTimeLocked }, ], name: 'RequirementChange', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -3160,15 +2953,27 @@ _secondsTimeLocked ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('AssetProxyOwner', AssetProxyOwnerContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'AssetProxyOwner', + AssetProxyOwnerContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( AssetProxyOwnerContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts index e708dedb7e..56f9d09e2b 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -24,7 +24,6 @@ import * as ethers from 'ethers'; import * as _ from 'lodash'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -35,8 +34,7 @@ export class CoordinatorContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -47,10 +45,8 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [hash, - signature - ]); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [hash, signature]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -59,38 +55,35 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getSignerAddress(bytes32,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - hash: string, - signature: string, - ): string { + getABIEncodedTransactionData(hash: string, signature: string): string { assert.isString('hash', hash); assert.isString('signature', signature); - const self = this as any as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [hash, - signature - ]); + const self = (this as any) as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [ + hash, + signature, + ]); return abiEncodedTransactionData; }, }; public getTransactionHash = { async callAsync( - transaction: {salt: BigNumber;signerAddress: string;data: string}, + transaction: { salt: BigNumber; signerAddress: string; data: string }, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -99,9 +92,10 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('getTransactionHash((uint256,address,bytes))', [transaction - ]); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments('getTransactionHash((uint256,address,bytes))', [ + transaction, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -110,35 +104,38 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getTransactionHash((uint256,address,bytes))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transaction: {salt: BigNumber;signerAddress: string;data: string}, - ): string { - - const self = this as any as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionHash((uint256,address,bytes))', [transaction - ]); + getABIEncodedTransactionData(transaction: { salt: BigNumber; signerAddress: string; data: string }): string { + const self = (this as any) as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getTransactionHash((uint256,address,bytes))', + [transaction], + ); return abiEncodedTransactionData; }, }; public getCoordinatorApprovalHash = { async callAsync( - approval: {txOrigin: string;transactionHash: string;transactionSignature: string;approvalExpirationTimeSeconds: BigNumber}, + approval: { + txOrigin: string; + transactionHash: string; + transactionSignature: string; + approvalExpirationTimeSeconds: BigNumber; + }, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -147,9 +144,11 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', [approval - ]); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments( + 'getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', + [approval], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -158,73 +157,81 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - approval: {txOrigin: string;transactionHash: string;transactionSignature: string;approvalExpirationTimeSeconds: BigNumber}, - ): string { - - const self = this as any as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', [approval - ]); + getABIEncodedTransactionData(approval: { + txOrigin: string; + transactionHash: string; + transactionSignature: string; + approvalExpirationTimeSeconds: BigNumber; + }): string { + const self = (this as any) as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', + [approval], + ); return abiEncodedTransactionData; }, }; public executeTransaction = { async sendTransactionAsync( - transaction: {salt: BigNumber;signerAddress: string;data: string}, + transaction: { salt: BigNumber; signerAddress: string; data: string }, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - - assert.isString('txOrigin', txOrigin); - assert.isString('transactionSignature', transactionSignature); - assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); - assert.isArray('approvalSignatures', approvalSignatures); - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeTransaction.estimateGasAsync.bind( - self, - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('txOrigin', txOrigin); + assert.isString('transactionSignature', transactionSignature); + assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); + assert.isArray('approvalSignatures', approvalSignatures); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments( + 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', + [ + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeTransaction.estimateGasAsync.bind( + self, + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - transaction: {salt: BigNumber;signerAddress: string;data: string}, + transaction: { salt: BigNumber; signerAddress: string; data: string }, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], @@ -233,76 +240,78 @@ export class CoordinatorContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - assert.isString('txOrigin', txOrigin); - assert.isString('transactionSignature', transactionSignature); - assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); - assert.isArray('approvalSignatures', approvalSignatures); - const self = this as any as CoordinatorContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync(transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('txOrigin', txOrigin); + assert.isString('transactionSignature', transactionSignature); + assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); + assert.isArray('approvalSignatures', approvalSignatures); + const self = (this as any) as CoordinatorContract; + const txHashPromise = self.executeTransaction.sendTransactionAsync( + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - transaction: {salt: BigNumber;signerAddress: string;data: string}, + transaction: { salt: BigNumber; signerAddress: string; data: string }, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], txData?: Partial | undefined, ): Promise { - - assert.isString('txOrigin', txOrigin); - assert.isString('transactionSignature', transactionSignature); - assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); - assert.isArray('approvalSignatures', approvalSignatures); - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('txOrigin', txOrigin); + assert.isString('transactionSignature', transactionSignature); + assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); + assert.isArray('approvalSignatures', approvalSignatures); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments( + 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', + [ + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - transaction: {salt: BigNumber;signerAddress: string;data: string}, + transaction: { salt: BigNumber; signerAddress: string; data: string }, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - + ): Promise { assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); @@ -315,13 +324,17 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ]); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments( + 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', + [ + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -330,45 +343,47 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - transaction: {salt: BigNumber;signerAddress: string;data: string}, - txOrigin: string, - transactionSignature: string, - approvalExpirationTimeSeconds: BigNumber[], - approvalSignatures: string[], - ): string { - + transaction: { salt: BigNumber; signerAddress: string; data: string }, + txOrigin: string, + transactionSignature: string, + approvalExpirationTimeSeconds: BigNumber[], + approvalSignatures: string[], + ): string { assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); assert.isArray('approvalSignatures', approvalSignatures); - const self = this as any as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ]); + const self = (this as any) as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', + [ + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ], + ); return abiEncodedTransactionData; }, }; public EIP712_EXCHANGE_DOMAIN_HASH = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -377,7 +392,7 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; + const self = (this as any) as CoordinatorContract; const encodedData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -387,36 +402,34 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as CoordinatorContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as CoordinatorContract; const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, }; public assertValidCoordinatorApprovals = { async callAsync( - transaction: {salt: BigNumber;signerAddress: string;data: string}, + transaction: { salt: BigNumber; signerAddress: string; data: string }, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - + ): Promise { assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); @@ -429,13 +442,17 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ]); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments( + 'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', + [ + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -444,36 +461,42 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - transaction: {salt: BigNumber;signerAddress: string;data: string}, - txOrigin: string, - transactionSignature: string, - approvalExpirationTimeSeconds: BigNumber[], - approvalSignatures: string[], - ): string { - + transaction: { salt: BigNumber; signerAddress: string; data: string }, + txOrigin: string, + transactionSignature: string, + approvalExpirationTimeSeconds: BigNumber[], + approvalSignatures: string[], + ): string { assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); assert.isArray('approvalSignatures', approvalSignatures); - const self = this as any as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ]); + const self = (this as any) as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', + [ + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ], + ); return abiEncodedTransactionData; }, }; @@ -482,7 +505,21 @@ export class CoordinatorContract extends BaseContract { data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise + ): Promise< + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }> > { assert.isString('data', data); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -493,9 +530,8 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data - ]); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -504,33 +540,42 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decodeOrdersFromFillData(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }> + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - data: string, - ): string { + getABIEncodedTransactionData(data: string): string { assert.isString('data', data); - const self = this as any as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data - ]); + const self = (this as any) as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data]); return abiEncodedTransactionData; }, }; public EIP712_COORDINATOR_DOMAIN_HASH = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -539,7 +584,7 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; + const self = (this as any) as CoordinatorContract; const encodedData = self._strictEncodeArguments('EIP712_COORDINATOR_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -549,30 +594,30 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('EIP712_COORDINATOR_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as CoordinatorContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as CoordinatorContract; const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_COORDINATOR_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _exchange: string, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _exchange: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -585,9 +630,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return CoordinatorContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _exchange -); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return CoordinatorContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _exchange); } public static async deployAsync( bytecode: string, @@ -595,7 +644,7 @@ public static async deployFrom0xArtifactAsync( supportedProvider: SupportedProvider, txDefaults: Partial, abiDependencies: { [contractName: string]: ContractAbi }, - _exchange: string, + _exchange: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -605,20 +654,17 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange -] = BaseContract._formatABIDataItemList( + [_exchange] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange -], + [_exchange], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange -]); + const txData = deployInfo.encode(bytecode, [_exchange]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -626,19 +672,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`Coordinator successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new CoordinatorContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); - contractInstance.constructorArgs = [_exchange -]; + const contractInstance = new CoordinatorContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); + contractInstance.constructorArgs = [_exchange]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -661,7 +710,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -680,7 +729,7 @@ public static async deployFrom0xArtifactAsync( name: 'data', type: 'bytes', }, - ] + ], }, ], name: 'getTransactionHash', @@ -694,7 +743,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -717,7 +766,7 @@ public static async deployFrom0xArtifactAsync( name: 'approvalExpirationTimeSeconds', type: 'uint256', }, - ] + ], }, ], name: 'getCoordinatorApprovalHash', @@ -731,7 +780,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -750,7 +799,7 @@ public static async deployFrom0xArtifactAsync( name: 'data', type: 'bytes', }, - ] + ], }, { name: 'txOrigin', @@ -770,16 +819,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'executeTransaction', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'EIP712_EXCHANGE_DOMAIN_HASH', outputs: [ { @@ -791,7 +838,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -810,7 +857,7 @@ public static async deployFrom0xArtifactAsync( name: 'data', type: 'bytes', }, - ] + ], }, { name: 'txOrigin', @@ -830,13 +877,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'assertValidCoordinatorApprovals', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -898,17 +944,16 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, ], payable: false, stateMutability: 'pure', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'EIP712_COORDINATOR_DOMAIN_HASH', outputs: [ { @@ -920,15 +965,14 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_exchange', type: 'address', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', @@ -936,11 +980,16 @@ public static async deployFrom0xArtifactAsync( ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('Coordinator', CoordinatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts index 1783c8969d..9f11a590c3 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,8 +32,7 @@ import * as ethers from 'ethers'; import * as _ from 'lodash'; // tslint:enable:no-unused-variable -export type CoordinatorRegistryEventArgs = - | CoordinatorRegistryCoordinatorEndpointSetEventArgs; +export type CoordinatorRegistryEventArgs = CoordinatorRegistryCoordinatorEndpointSetEventArgs; export enum CoordinatorRegistryEvents { CoordinatorEndpointSet = 'CoordinatorEndpointSet', @@ -41,38 +43,30 @@ export interface CoordinatorRegistryCoordinatorEndpointSetEventArgs extends Deco coordinatorEndpoint: string; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class CoordinatorRegistryContract extends BaseContract { public setCoordinatorEndpoint = { - async sendTransactionAsync( - coordinatorEndpoint: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = this as any as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setCoordinatorEndpoint.estimateGasAsync.bind( - self, - coordinatorEndpoint - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(coordinatorEndpoint: string, txData?: Partial | undefined): Promise { + assert.isString('coordinatorEndpoint', coordinatorEndpoint); + const self = (this as any) as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setCoordinatorEndpoint.estimateGasAsync.bind(self, coordinatorEndpoint), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( coordinatorEndpoint: string, @@ -80,51 +74,45 @@ export class CoordinatorRegistryContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = this as any as CoordinatorRegistryContract; - const txHashPromise = self.setCoordinatorEndpoint.sendTransactionAsync(coordinatorEndpoint - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('coordinatorEndpoint', coordinatorEndpoint); + const self = (this as any) as CoordinatorRegistryContract; + const txHashPromise = self.setCoordinatorEndpoint.sendTransactionAsync(coordinatorEndpoint, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - coordinatorEndpoint: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = this as any as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(coordinatorEndpoint: string, txData?: Partial | undefined): Promise { + assert.isString('coordinatorEndpoint', coordinatorEndpoint); + const self = (this as any) as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( coordinatorEndpoint: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('coordinatorEndpoint', coordinatorEndpoint); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -134,9 +122,8 @@ export class CoordinatorRegistryContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint - ]); + const self = (this as any) as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -145,24 +132,24 @@ export class CoordinatorRegistryContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setCoordinatorEndpoint(string)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - coordinatorEndpoint: string, - ): string { + getABIEncodedTransactionData(coordinatorEndpoint: string): string { assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = this as any as CoordinatorRegistryContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint - ]); + const self = (this as any) as CoordinatorRegistryContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [ + coordinatorEndpoint, + ]); return abiEncodedTransactionData; }, }; @@ -171,8 +158,7 @@ export class CoordinatorRegistryContract extends BaseContract { coordinatorOperator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('coordinatorOperator', coordinatorOperator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -182,9 +168,10 @@ export class CoordinatorRegistryContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [coordinatorOperator.toLowerCase() - ]); + const self = (this as any) as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [ + coordinatorOperator.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -193,33 +180,33 @@ export class CoordinatorRegistryContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getCoordinatorEndpoint(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - coordinatorOperator: string, - ): string { + getABIEncodedTransactionData(coordinatorOperator: string): string { assert.isString('coordinatorOperator', coordinatorOperator); - const self = this as any as CoordinatorRegistryContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [coordinatorOperator.toLowerCase() - ]); + const self = (this as any) as CoordinatorRegistryContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [ + coordinatorOperator.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -232,8 +219,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return CoordinatorRegistryContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return CoordinatorRegistryContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, @@ -250,17 +242,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -268,18 +256,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`CoordinatorRegistry successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new CoordinatorRegistryContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new CoordinatorRegistryContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -288,13 +280,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'setCoordinatorEndpoint', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -313,16 +304,14 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -337,8 +326,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'CoordinatorEndpointSet', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -412,15 +400,27 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('CoordinatorRegistry', CoordinatorRegistryContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'CoordinatorRegistry', + CoordinatorRegistryContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( CoordinatorRegistryContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts index e46d11a383..573127280a 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,9 +32,7 @@ import * as ethers from 'ethers'; import * as _ from 'lodash'; // tslint:enable:no-unused-variable -export type DummyERC20TokenEventArgs = - | DummyERC20TokenTransferEventArgs - | DummyERC20TokenApprovalEventArgs; +export type DummyERC20TokenEventArgs = DummyERC20TokenTransferEventArgs | DummyERC20TokenApprovalEventArgs; export enum DummyERC20TokenEvents { Transfer = 'Transfer', @@ -50,17 +51,12 @@ export interface DummyERC20TokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DummyERC20TokenContract extends BaseContract { public name = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -69,7 +65,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; + const self = (this as any) as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -79,20 +75,20 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, @@ -101,33 +97,30 @@ export class DummyERC20TokenContract extends BaseContract { async sendTransactionAsync( _spender: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind( - self, + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ _spender.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _spender: string, @@ -136,57 +129,55 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _spender: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _spender: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -197,10 +188,11 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -209,36 +201,31 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _spender: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_spender: string, _value: BigNumber): string { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -247,7 +234,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; + const self = (this as any) as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -257,20 +244,20 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -280,36 +267,32 @@ export class DummyERC20TokenContract extends BaseContract { _from: string, _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -319,25 +302,27 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _value, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -345,28 +330,29 @@ export class DummyERC20TokenContract extends BaseContract { _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -374,8 +360,7 @@ export class DummyERC20TokenContract extends BaseContract { _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); @@ -387,11 +372,12 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -400,39 +386,33 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; public decimals = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -441,7 +421,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; + const self = (this as any) as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('decimals()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -451,20 +431,20 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decimals()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); return abiEncodedTransactionData; }, @@ -474,8 +454,7 @@ export class DummyERC20TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -485,9 +464,8 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -496,33 +474,27 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - ): string { + getABIEncodedTransactionData(_owner: string): string { assert.isString('_owner', _owner); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -531,7 +503,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; + const self = (this as any) as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -541,30 +513,26 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -573,7 +541,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; + const self = (this as any) as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -583,51 +551,44 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, }; public mint = { - async sendTransactionAsync( - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.mint.estimateGasAsync.bind( - self, - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(_value: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.mint.estimateGasAsync.bind(self, _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _value: BigNumber, @@ -635,51 +596,41 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const txHashPromise = self.mint.sendTransactionAsync(_value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.mint.sendTransactionAsync(_value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(_value: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - _value: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(_value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -689,9 +640,8 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -700,24 +650,22 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_value: BigNumber): string { assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('mint(uint256)', [_value - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('mint(uint256)', [_value]); return abiEncodedTransactionData; }, }; @@ -725,33 +673,27 @@ export class DummyERC20TokenContract extends BaseContract { async sendTransactionAsync( _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind( - self, - _to.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -760,57 +702,48 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - _to: string, - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -821,10 +754,8 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -833,27 +764,26 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _to: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_to: string, _value: BigNumber): string { assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ + _to.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; @@ -863,8 +793,7 @@ export class DummyERC20TokenContract extends BaseContract { _spender: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_spender', _spender); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -875,10 +804,11 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), - _spender.toLowerCase() - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -887,27 +817,26 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - _spender: string, - ): string { + getABIEncodedTransactionData(_owner: string, _spender: string): string { assert.isString('_owner', _owner); assert.isString('_spender', _spender); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), - _spender.toLowerCase() - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; @@ -915,33 +844,30 @@ export class DummyERC20TokenContract extends BaseContract { async sendTransactionAsync( _target: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setBalance.estimateGasAsync.bind( - self, + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ _target.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setBalance.estimateGasAsync.bind(self, _target.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _target: string, @@ -950,57 +876,55 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const txHashPromise = self.setBalance.sendTransactionAsync(_target.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.setBalance.sendTransactionAsync(_target.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _target: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ + _target.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _target: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_target', _target); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1011,10 +935,11 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ + _target.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1023,57 +948,49 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _target: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_target: string, _value: BigNumber): string { assert.isString('_target', _target); assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [ + _target.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -1081,51 +998,41 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as DummyERC20TokenContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1135,9 +1042,8 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1146,33 +1052,29 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public MAX_MINT_AMOUNT = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1181,7 +1083,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; + const self = (this as any) as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('MAX_MINT_AMOUNT()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1191,34 +1093,34 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('MAX_MINT_AMOUNT()', []); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _name: string, - _symbol: string, - _decimals: BigNumber, - _totalSupply: BigNumber, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _name: string, + _symbol: string, + _decimals: BigNumber, + _totalSupply: BigNumber, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1231,12 +1133,23 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return DummyERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _name, -_symbol, -_decimals, -_totalSupply -); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return DummyERC20TokenContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + abiDependencies, + _name, + _symbol, + _decimals, + _totalSupply, + ); } public static async deployAsync( bytecode: string, @@ -1244,10 +1157,10 @@ _totalSupply supportedProvider: SupportedProvider, txDefaults: Partial, abiDependencies: { [contractName: string]: ContractAbi }, - _name: string, - _symbol: string, - _decimals: BigNumber, - _totalSupply: BigNumber, + _name: string, + _symbol: string, + _decimals: BigNumber, + _totalSupply: BigNumber, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1257,29 +1170,17 @@ _totalSupply ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_name, -_symbol, -_decimals, -_totalSupply -] = BaseContract._formatABIDataItemList( + [_name, _symbol, _decimals, _totalSupply] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_name, -_symbol, -_decimals, -_totalSupply -], + [_name, _symbol, _decimals, _totalSupply], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_name, -_symbol, -_decimals, -_totalSupply -]); + const txData = deployInfo.encode(bytecode, [_name, _symbol, _decimals, _totalSupply]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1287,25 +1188,24 @@ _totalSupply logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`DummyERC20Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new DummyERC20TokenContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); - contractInstance.constructorArgs = [_name, -_symbol, -_decimals, -_totalSupply -]; + const contractInstance = new DummyERC20TokenContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); + contractInstance.constructorArgs = [_name, _symbol, _decimals, _totalSupply]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'name', outputs: [ { @@ -1317,7 +1217,7 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1340,10 +1240,9 @@ _totalSupply stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'totalSupply', outputs: [ { @@ -1355,7 +1254,7 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1382,10 +1281,9 @@ _totalSupply stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'decimals', outputs: [ { @@ -1397,7 +1295,7 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1416,10 +1314,9 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -1431,10 +1328,9 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'symbol', outputs: [ { @@ -1446,7 +1342,7 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1455,13 +1351,12 @@ _totalSupply }, ], name: 'mint', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1484,7 +1379,7 @@ _totalSupply stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1507,7 +1402,7 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1520,13 +1415,12 @@ _totalSupply }, ], name: 'setBalance', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1535,16 +1429,14 @@ _totalSupply }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'MAX_MINT_AMOUNT', outputs: [ { @@ -1556,7 +1448,7 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_name', @@ -1575,13 +1467,12 @@ _totalSupply type: 'uint256', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -1601,11 +1492,10 @@ _totalSupply }, ], name: 'Transfer', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1625,8 +1515,7 @@ _totalSupply }, ], name: 'Approval', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1700,15 +1589,27 @@ _totalSupply ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('DummyERC20Token', DummyERC20TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'DummyERC20Token', + DummyERC20TokenContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( DummyERC20TokenContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts index 095e6bfb3f..03ad59fe4e 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -58,17 +61,12 @@ export interface DummyERC721TokenApprovalForAllEventArgs extends DecodedLogArgs _approved: boolean; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DummyERC721TokenContract extends BaseContract { public name = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -77,7 +75,7 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; + const self = (this as any) as DummyERC721TokenContract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -87,20 +85,20 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC721TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC721TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, @@ -110,8 +108,7 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -121,9 +118,8 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -132,24 +128,22 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_tokenId: BigNumber): string { assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); return abiEncodedTransactionData; }, }; @@ -157,33 +151,30 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _approved: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind( - self, + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ _approved.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind(self, _approved.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _approved: string, @@ -192,57 +183,55 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), _tokenId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _approved: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _approved.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _approved: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -253,10 +242,11 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _approved.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -265,27 +255,26 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _approved: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_approved: string, _tokenId: BigNumber): string { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ + _approved.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -294,36 +283,32 @@ export class DummyERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -333,25 +318,27 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -359,28 +346,29 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -388,8 +376,7 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -401,11 +388,12 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -414,30 +402,28 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -445,33 +431,27 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.mint.estimateGasAsync.bind( - self, - _to.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.mint.estimateGasAsync.bind(self, _to.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -480,57 +460,52 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.mint.sendTransactionAsync(_to.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.mint.sendTransactionAsync(_to.toLowerCase(), _tokenId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _to: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -541,10 +516,8 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -553,27 +526,26 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _to: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_to: string, _tokenId: BigNumber): string { assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('mint(address,uint256)', [ + _to.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -582,36 +554,32 @@ export class DummyERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom1.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom1.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -621,25 +589,27 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.safeTransferFrom1.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.safeTransferFrom1.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -647,28 +617,29 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -676,8 +647,7 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -689,11 +659,12 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -702,30 +673,28 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -734,8 +703,7 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -745,9 +713,8 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -756,24 +723,22 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_tokenId: BigNumber): string { assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); return abiEncodedTransactionData; }, }; @@ -782,8 +747,7 @@ export class DummyERC721TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -793,9 +757,8 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -804,33 +767,27 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - ): string { + getABIEncodedTransactionData(_owner: string): string { assert.isString('_owner', _owner); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -839,7 +796,7 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; + const self = (this as any) as DummyERC721TokenContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -849,30 +806,26 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC721TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC721TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -881,7 +834,7 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; + const self = (this as any) as DummyERC721TokenContract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -891,20 +844,20 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC721TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC721TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, @@ -913,33 +866,27 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _owner: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.burn.estimateGasAsync.bind( - self, - _owner.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.burn.estimateGasAsync.bind(self, _owner.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _owner: string, @@ -948,57 +895,52 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.burn.sendTransactionAsync(_owner.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.burn.sendTransactionAsync(_owner.toLowerCase(), _tokenId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _owner: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _owner: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1009,10 +951,8 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1021,27 +961,26 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_owner: string, _tokenId: BigNumber): string { assert.isString('_owner', _owner); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [ + _owner.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -1049,33 +988,30 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _operator: string, _approved: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setApprovalForAll.estimateGasAsync.bind( - self, + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ _operator.toLowerCase(), - _approved - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _approved, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setApprovalForAll.estimateGasAsync.bind(self, _operator.toLowerCase(), _approved), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _operator: string, @@ -1084,57 +1020,59 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.setApprovalForAll.sendTransactionAsync(_operator.toLowerCase(), - _approved - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.setApprovalForAll.sendTransactionAsync( + _operator.toLowerCase(), + _approved, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _operator: string, _approved: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _operator: string, _approved: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1145,10 +1083,11 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1157,27 +1096,26 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _operator: string, - _approved: boolean, - ): string { + getABIEncodedTransactionData(_operator: string, _approved: boolean): string { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); return abiEncodedTransactionData; }, }; @@ -1187,39 +1125,40 @@ export class DummyERC721TokenContract extends BaseContract { _to: string, _tokenId: BigNumber, _data: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom2.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom2.estimateGasAsync.bind( + self, + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -1230,27 +1169,29 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.safeTransferFrom2.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.safeTransferFrom2.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -1259,30 +1200,31 @@ export class DummyERC721TokenContract extends BaseContract { _data: string, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -1291,8 +1233,7 @@ export class DummyERC721TokenContract extends BaseContract { _data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -1305,12 +1246,13 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1319,33 +1261,28 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _tokenId: BigNumber, - _data: string, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber, _data: string): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.isString('_data', _data); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'safeTransferFrom(address,address,uint256,bytes)', + [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data], + ); return abiEncodedTransactionData; }, }; @@ -1355,8 +1292,7 @@ export class DummyERC721TokenContract extends BaseContract { _operator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_operator', _operator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1367,10 +1303,11 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), - _operator.toLowerCase() - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1379,57 +1316,49 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - _operator: string, - ): string { + getABIEncodedTransactionData(_owner: string, _operator: string): string { assert.isString('_owner', _owner); assert.isString('_operator', _operator); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), - _operator.toLowerCase() - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -1437,51 +1366,41 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1491,9 +1410,8 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1502,35 +1420,35 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _name: string, - _symbol: string, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _name: string, + _symbol: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1543,10 +1461,21 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return DummyERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _name, -_symbol -); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return DummyERC721TokenContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + abiDependencies, + _name, + _symbol, + ); } public static async deployAsync( bytecode: string, @@ -1554,8 +1483,8 @@ _symbol supportedProvider: SupportedProvider, txDefaults: Partial, abiDependencies: { [contractName: string]: ContractAbi }, - _name: string, - _symbol: string, + _name: string, + _symbol: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1565,23 +1494,17 @@ _symbol ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_name, -_symbol -] = BaseContract._formatABIDataItemList( + [_name, _symbol] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_name, -_symbol -], + [_name, _symbol], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_name, -_symbol -]); + const txData = deployInfo.encode(bytecode, [_name, _symbol]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1589,23 +1512,24 @@ _symbol logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`DummyERC721Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new DummyERC721TokenContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); - contractInstance.constructorArgs = [_name, -_symbol -]; + const contractInstance = new DummyERC721TokenContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); + contractInstance.constructorArgs = [_name, _symbol]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'name', outputs: [ { @@ -1617,7 +1541,7 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1636,7 +1560,7 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1649,13 +1573,12 @@ _symbol }, ], name: 'approve', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1672,13 +1595,12 @@ _symbol }, ], name: 'transferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1691,13 +1613,12 @@ _symbol }, ], name: 'mint', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1714,13 +1635,12 @@ _symbol }, ], name: 'safeTransferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1739,7 +1659,7 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1758,10 +1678,9 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -1773,10 +1692,9 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'symbol', outputs: [ { @@ -1788,7 +1706,7 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1801,13 +1719,12 @@ _symbol }, ], name: 'burn', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1820,13 +1737,12 @@ _symbol }, ], name: 'setApprovalForAll', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1847,13 +1763,12 @@ _symbol }, ], name: 'safeTransferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1876,7 +1791,7 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1885,13 +1800,12 @@ _symbol }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_name', @@ -1902,13 +1816,12 @@ _symbol type: 'string', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -1928,11 +1841,10 @@ _symbol }, ], name: 'Transfer', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1952,11 +1864,10 @@ _symbol }, ], name: 'Approval', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1976,8 +1887,7 @@ _symbol }, ], name: 'ApprovalForAll', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -2051,15 +1961,27 @@ _symbol ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('DummyERC721Token', DummyERC721TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'DummyERC721Token', + DummyERC721TokenContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( DummyERC721TokenContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts index 27db00ac50..1eaa590042 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -24,91 +24,144 @@ import * as ethers from 'ethers'; import * as _ from 'lodash'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DutchAuctionContract extends BaseContract { public getAuctionDetails = { async sendTransactionAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - txData?: Partial | undefined, - ): Promise { - - const self = this as any as DutchAuctionContract; - const encodedData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; }, - self._web3Wrapper.getContractDefaults(), - self.getAuctionDetails.estimateGasAsync.bind( - self, - order - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + txData?: Partial | undefined, + ): Promise { + const self = (this as any) as DutchAuctionContract; + const encodedData = self._strictEncodeArguments( + 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.getAuctionDetails.estimateGasAsync.bind(self, order), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - const self = this as any as DutchAuctionContract; - const txHashPromise = self.getAuctionDetails.sendTransactionAsync(order - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const self = (this as any) as DutchAuctionContract; + const txHashPromise = self.getAuctionDetails.sendTransactionAsync(order, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, txData?: Partial | undefined, ): Promise { - - const self = this as any as DutchAuctionContract; - const encodedData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + const self = (this as any) as DutchAuctionContract; + const encodedData = self._strictEncodeArguments( + 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{beginTimeSeconds: BigNumber;endTimeSeconds: BigNumber;beginAmount: BigNumber;endAmount: BigNumber;currentAmount: BigNumber;currentTimeSeconds: BigNumber} - > { - + ): Promise<{ + beginTimeSeconds: BigNumber; + endTimeSeconds: BigNumber; + beginAmount: BigNumber; + endAmount: BigNumber; + currentAmount: BigNumber; + currentTimeSeconds: BigNumber; + }> { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -117,9 +170,11 @@ export class DutchAuctionContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DutchAuctionContract; - const encodedData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); + const self = (this as any) as DutchAuctionContract; + const encodedData = self._strictEncodeArguments( + 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -128,141 +183,266 @@ export class DutchAuctionContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'); + const abiEncoder = self._lookupAbiEncoder( + 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{beginTimeSeconds: BigNumber;endTimeSeconds: BigNumber;beginAmount: BigNumber;endAmount: BigNumber;currentAmount: BigNumber;currentTimeSeconds: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + beginTimeSeconds: BigNumber; + endTimeSeconds: BigNumber; + beginAmount: BigNumber; + endAmount: BigNumber; + currentAmount: BigNumber; + currentTimeSeconds: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - ): string { - - const self = this as any as DutchAuctionContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); + getABIEncodedTransactionData(order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }): string { + const self = (this as any) as DutchAuctionContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); return abiEncodedTransactionData; }, }; public matchOrders = { async sendTransactionAsync( - buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + buyOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + sellOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, buySignature: string, sellSignature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - - - assert.isString('buySignature', buySignature); - assert.isString('sellSignature', sellSignature); - const self = this as any as DutchAuctionContract; - const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, - sellOrder, - buySignature, - sellSignature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.matchOrders.estimateGasAsync.bind( - self, - buyOrder, - sellOrder, - buySignature, - sellSignature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('buySignature', buySignature); + assert.isString('sellSignature', sellSignature); + const self = (this as any) as DutchAuctionContract; + const encodedData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [buyOrder, sellOrder, buySignature, sellSignature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.matchOrders.estimateGasAsync.bind(self, buyOrder, sellOrder, buySignature, sellSignature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + buyOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + sellOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, buySignature: string, sellSignature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - - assert.isString('buySignature', buySignature); - assert.isString('sellSignature', sellSignature); - const self = this as any as DutchAuctionContract; - const txHashPromise = self.matchOrders.sendTransactionAsync(buyOrder, - sellOrder, - buySignature, - sellSignature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('buySignature', buySignature); + assert.isString('sellSignature', sellSignature); + const self = (this as any) as DutchAuctionContract; + const txHashPromise = self.matchOrders.sendTransactionAsync( + buyOrder, + sellOrder, + buySignature, + sellSignature, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + buyOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + sellOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, buySignature: string, sellSignature: string, txData?: Partial | undefined, ): Promise { - - - assert.isString('buySignature', buySignature); - assert.isString('sellSignature', sellSignature); - const self = this as any as DutchAuctionContract; - const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, - sellOrder, - buySignature, - sellSignature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('buySignature', buySignature); + assert.isString('sellSignature', sellSignature); + const self = (this as any) as DutchAuctionContract; + const encodedData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [buyOrder, sellOrder, buySignature, sellSignature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + buyOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + sellOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, buySignature: string, sellSignature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} - > { - - + ): Promise<{ + left: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + right: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + leftMakerAssetSpreadAmount: BigNumber; + }> { assert.isString('buySignature', buySignature); assert.isString('sellSignature', sellSignature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -273,12 +453,11 @@ export class DutchAuctionContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DutchAuctionContract; - const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, - sellOrder, - buySignature, - sellSignature - ]); + const self = (this as any) as DutchAuctionContract; + const encodedData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [buyOrder, sellOrder, buySignature, sellSignature], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -287,42 +466,82 @@ export class DutchAuctionContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + left: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + right: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + leftMakerAssetSpreadAmount: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - buySignature: string, - sellSignature: string, - ): string { - - + buyOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + sellOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + buySignature: string, + sellSignature: string, + ): string { assert.isString('buySignature', buySignature); assert.isString('sellSignature', sellSignature); - const self = this as any as DutchAuctionContract; - const abiEncodedTransactionData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, - sellOrder, - buySignature, - sellSignature - ]); + const self = (this as any) as DutchAuctionContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [buyOrder, sellOrder, buySignature, sellSignature], + ); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _exchange: string, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _exchange: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -335,9 +554,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return DutchAuctionContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _exchange -); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return DutchAuctionContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _exchange); } public static async deployAsync( bytecode: string, @@ -345,7 +568,7 @@ public static async deployFrom0xArtifactAsync( supportedProvider: SupportedProvider, txDefaults: Partial, abiDependencies: { [contractName: string]: ContractAbi }, - _exchange: string, + _exchange: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -355,20 +578,17 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange -] = BaseContract._formatABIDataItemList( + [_exchange] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange -], + [_exchange], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange -]); + const txData = deployInfo.encode(bytecode, [_exchange]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -376,19 +596,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`DutchAuction successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new DutchAuctionContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); - contractInstance.constructorArgs = [_exchange -]; + const contractInstance = new DutchAuctionContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); + contractInstance.constructorArgs = [_exchange]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -443,7 +666,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, ], name: 'getAuctionDetails', @@ -476,14 +699,14 @@ public static async deployFrom0xArtifactAsync( name: 'currentTimeSeconds', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -538,7 +761,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'sellOrder', @@ -592,7 +815,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'buySignature', @@ -629,7 +852,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, { name: 'right', @@ -651,28 +874,27 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, { name: 'leftMakerAssetSpreadAmount', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_exchange', type: 'address', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', @@ -680,11 +902,23 @@ public static async deployFrom0xArtifactAsync( ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('DutchAuction', DutchAuctionContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'DutchAuction', + DutchAuctionContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts index a72fb0c2c6..e3e1d9553a 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -48,38 +51,30 @@ export interface ERC20ProxyAuthorizedAddressRemovedEventArgs extends DecodedLogA caller: string; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC20ProxyContract extends BaseContract { public addAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -87,51 +82,41 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as ERC20ProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -141,9 +126,8 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -152,24 +136,24 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; @@ -178,8 +162,7 @@ export class ERC20ProxyContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -189,9 +172,8 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0 - ]); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -200,54 +182,45 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorities(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - ): string { + getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); - const self = this as any as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0 - ]); + const self = (this as any) as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -255,51 +228,41 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as ERC20ProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -309,9 +272,8 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -320,33 +282,29 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -355,7 +313,7 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; + const self = (this as any) as ERC20ProxyContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -365,20 +323,20 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC20ProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC20ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -387,33 +345,30 @@ export class ERC20ProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( - self, + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ target.toLowerCase(), - index - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -422,57 +377,59 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as ERC20ProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), - index - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as ERC20ProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( + target.toLowerCase(), + index, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -483,10 +440,11 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -495,36 +453,31 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - index: BigNumber, - ): string { + getABIEncodedTransactionData(target: string, index: BigNumber): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = this as any as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'removeAuthorizedAddressAtIndex(address,uint256)', + [target.toLowerCase(), index], + ); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -533,7 +486,7 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; + const self = (this as any) as ERC20ProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -543,20 +496,20 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC20ProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC20ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, @@ -566,8 +519,7 @@ export class ERC20ProxyContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -577,9 +529,8 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -588,33 +539,29 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorized(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ + index_0.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -623,7 +570,7 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; + const self = (this as any) as ERC20ProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -633,51 +580,44 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC20ProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC20ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -685,51 +625,41 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as ERC20ProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as ERC20ProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -739,9 +669,8 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -750,33 +679,33 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -789,8 +718,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return ERC20ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return ERC20ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, @@ -807,17 +741,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -825,18 +755,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC20Proxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC20ProxyContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new ERC20ProxyContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -845,13 +779,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'addAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -870,7 +803,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -879,16 +812,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -900,7 +831,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -913,16 +844,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getProxyId', outputs: [ { @@ -934,7 +863,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -953,10 +882,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getAuthorizedAddresses', outputs: [ { @@ -968,7 +896,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -977,22 +905,19 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -1007,11 +932,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AuthorizedAddressAdded', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1026,8 +950,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AuthorizedAddressRemoved', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1101,7 +1024,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('ERC20Proxy', ERC20ProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1109,7 +1037,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts index 2985e6d710..851bb18d4d 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,9 +32,7 @@ import * as ethers from 'ethers'; import * as _ from 'lodash'; // tslint:enable:no-unused-variable -export type ERC20TokenEventArgs = - | ERC20TokenTransferEventArgs - | ERC20TokenApprovalEventArgs; +export type ERC20TokenEventArgs = ERC20TokenTransferEventArgs | ERC20TokenApprovalEventArgs; export enum ERC20TokenEvents { Transfer = 'Transfer', @@ -50,7 +51,6 @@ export interface ERC20TokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -59,33 +59,30 @@ export class ERC20TokenContract extends BaseContract { async sendTransactionAsync( _spender: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind( - self, + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ _spender.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _spender: string, @@ -94,57 +91,55 @@ export class ERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _spender: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _spender: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -155,10 +150,11 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -167,36 +163,31 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _spender: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_spender: string, _value: BigNumber): string { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); + const self = (this as any) as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -205,7 +196,7 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20TokenContract; + const self = (this as any) as ERC20TokenContract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -215,20 +206,20 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -238,36 +229,32 @@ export class ERC20TokenContract extends BaseContract { _from: string, _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -277,25 +264,27 @@ export class ERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _value, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -303,28 +292,29 @@ export class ERC20TokenContract extends BaseContract { _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -332,8 +322,7 @@ export class ERC20TokenContract extends BaseContract { _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); @@ -345,11 +334,12 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -358,30 +348,28 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); + const self = (this as any) as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; @@ -390,8 +378,7 @@ export class ERC20TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -401,9 +388,8 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -412,24 +398,22 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - ): string { + getABIEncodedTransactionData(_owner: string): string { assert.isString('_owner', _owner); - const self = this as any as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); return abiEncodedTransactionData; }, }; @@ -437,33 +421,27 @@ export class ERC20TokenContract extends BaseContract { async sendTransactionAsync( _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind( - self, - _to.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -472,57 +450,48 @@ export class ERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - _to: string, - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -533,10 +502,8 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -545,27 +512,26 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _to: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_to: string, _value: BigNumber): string { assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); + const self = (this as any) as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ + _to.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; @@ -575,8 +541,7 @@ export class ERC20TokenContract extends BaseContract { _spender: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_spender', _spender); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -587,10 +552,11 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), - _spender.toLowerCase() - ]); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -599,36 +565,35 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - _spender: string, - ): string { + getABIEncodedTransactionData(_owner: string, _spender: string): string { assert.isString('_owner', _owner); assert.isString('_spender', _spender); - const self = this as any as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), - _spender.toLowerCase() - ]); + const self = (this as any) as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -641,8 +606,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return ERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return ERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, @@ -659,17 +629,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -677,18 +643,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC20Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC20TokenContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new ERC20TokenContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -711,10 +681,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'totalSupply', outputs: [ { @@ -726,7 +695,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -753,7 +722,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -772,7 +741,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -795,7 +764,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -818,7 +787,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { anonymous: false, inputs: [ { @@ -838,11 +807,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Transfer', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -862,8 +830,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Approval', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -937,7 +904,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('ERC20Token', ERC20TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -945,7 +917,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts index ffeb122490..4a5dd7c166 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -48,38 +51,30 @@ export interface ERC721ProxyAuthorizedAddressRemovedEventArgs extends DecodedLog caller: string; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC721ProxyContract extends BaseContract { public addAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -87,51 +82,41 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as ERC721ProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -141,9 +126,8 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -152,24 +136,24 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; @@ -178,8 +162,7 @@ export class ERC721ProxyContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -189,9 +172,8 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0 - ]); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -200,54 +182,45 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorities(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - ): string { + getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); - const self = this as any as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0 - ]); + const self = (this as any) as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -255,51 +228,41 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as ERC721ProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -309,9 +272,8 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -320,33 +282,29 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -355,7 +313,7 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; + const self = (this as any) as ERC721ProxyContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -365,20 +323,20 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC721ProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC721ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -387,33 +345,30 @@ export class ERC721ProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( - self, + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ target.toLowerCase(), - index - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -422,57 +377,59 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as ERC721ProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), - index - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as ERC721ProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( + target.toLowerCase(), + index, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -483,10 +440,11 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -495,36 +453,31 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - index: BigNumber, - ): string { + getABIEncodedTransactionData(target: string, index: BigNumber): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = this as any as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'removeAuthorizedAddressAtIndex(address,uint256)', + [target.toLowerCase(), index], + ); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -533,7 +486,7 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; + const self = (this as any) as ERC721ProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -543,20 +496,20 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC721ProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC721ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, @@ -566,8 +519,7 @@ export class ERC721ProxyContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -577,9 +529,8 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -588,33 +539,29 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorized(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ + index_0.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -623,7 +570,7 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; + const self = (this as any) as ERC721ProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -633,51 +580,44 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC721ProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC721ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -685,51 +625,41 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as ERC721ProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as ERC721ProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -739,9 +669,8 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -750,33 +679,33 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -789,8 +718,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return ERC721ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return ERC721ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, @@ -807,17 +741,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -825,18 +755,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC721Proxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC721ProxyContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new ERC721ProxyContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -845,13 +779,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'addAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -870,7 +803,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -879,16 +812,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -900,7 +831,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -913,16 +844,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getProxyId', outputs: [ { @@ -934,7 +863,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -953,10 +882,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getAuthorizedAddresses', outputs: [ { @@ -968,7 +896,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -977,22 +905,19 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -1007,11 +932,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AuthorizedAddressAdded', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1026,8 +950,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AuthorizedAddressRemoved', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1101,7 +1024,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('ERC721Proxy', ERC721ProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1109,7 +1037,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts index c4b4d2a8c7..081cfcad87 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -58,7 +61,6 @@ export interface ERC721TokenApprovalForAllEventArgs extends DecodedLogArgs { _approved: boolean; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -68,8 +70,7 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -79,9 +80,8 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -90,24 +90,22 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_tokenId: BigNumber): string { assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); return abiEncodedTransactionData; }, }; @@ -115,33 +113,30 @@ export class ERC721TokenContract extends BaseContract { async sendTransactionAsync( _approved: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind( - self, + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ _approved.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind(self, _approved.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _approved: string, @@ -150,57 +145,55 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), _tokenId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _approved: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _approved.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _approved: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -211,10 +204,11 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _approved.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -223,27 +217,26 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _approved: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_approved: string, _tokenId: BigNumber): string { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ + _approved.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -252,36 +245,32 @@ export class ERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -291,25 +280,27 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -317,28 +308,29 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -346,8 +338,7 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -359,11 +350,12 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -372,30 +364,28 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -404,36 +394,32 @@ export class ERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom1.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom1.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -443,25 +429,27 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const txHashPromise = self.safeTransferFrom1.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const txHashPromise = self.safeTransferFrom1.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -469,28 +457,29 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -498,8 +487,7 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -511,11 +499,12 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -524,30 +513,28 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -556,8 +543,7 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -567,9 +553,8 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -578,24 +563,22 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_tokenId: BigNumber): string { assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); return abiEncodedTransactionData; }, }; @@ -604,8 +587,7 @@ export class ERC721TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -615,9 +597,8 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -626,24 +607,22 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - ): string { + getABIEncodedTransactionData(_owner: string): string { assert.isString('_owner', _owner); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); return abiEncodedTransactionData; }, }; @@ -651,33 +630,30 @@ export class ERC721TokenContract extends BaseContract { async sendTransactionAsync( _operator: string, _approved: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setApprovalForAll.estimateGasAsync.bind( - self, + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ _operator.toLowerCase(), - _approved - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _approved, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setApprovalForAll.estimateGasAsync.bind(self, _operator.toLowerCase(), _approved), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _operator: string, @@ -686,57 +662,59 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = this as any as ERC721TokenContract; - const txHashPromise = self.setApprovalForAll.sendTransactionAsync(_operator.toLowerCase(), - _approved - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as ERC721TokenContract; + const txHashPromise = self.setApprovalForAll.sendTransactionAsync( + _operator.toLowerCase(), + _approved, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _operator: string, _approved: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _operator: string, _approved: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -747,10 +725,11 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -759,27 +738,26 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _operator: string, - _approved: boolean, - ): string { + getABIEncodedTransactionData(_operator: string, _approved: boolean): string { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); return abiEncodedTransactionData; }, }; @@ -789,39 +767,40 @@ export class ERC721TokenContract extends BaseContract { _to: string, _tokenId: BigNumber, _data: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom2.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom2.estimateGasAsync.bind( + self, + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -832,27 +811,29 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = this as any as ERC721TokenContract; - const txHashPromise = self.safeTransferFrom2.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = (this as any) as ERC721TokenContract; + const txHashPromise = self.safeTransferFrom2.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -861,30 +842,31 @@ export class ERC721TokenContract extends BaseContract { _data: string, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -893,8 +875,7 @@ export class ERC721TokenContract extends BaseContract { _data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -907,12 +888,13 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -921,33 +903,28 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _tokenId: BigNumber, - _data: string, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber, _data: string): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.isString('_data', _data); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'safeTransferFrom(address,address,uint256,bytes)', + [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data], + ); return abiEncodedTransactionData; }, }; @@ -957,8 +934,7 @@ export class ERC721TokenContract extends BaseContract { _operator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_operator', _operator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -969,10 +945,11 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), - _operator.toLowerCase() - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -981,36 +958,35 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - _operator: string, - ): string { + getABIEncodedTransactionData(_owner: string, _operator: string): string { assert.isString('_owner', _owner); assert.isString('_operator', _operator); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), - _operator.toLowerCase() - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1023,8 +999,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return ERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return ERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, @@ -1041,17 +1022,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1059,18 +1036,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC721Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC721TokenContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new ERC721TokenContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -1089,7 +1070,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1102,13 +1083,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'approve', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1125,13 +1105,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1148,13 +1127,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'safeTransferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1173,7 +1151,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1192,7 +1170,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1205,13 +1183,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'setApprovalForAll', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1232,13 +1209,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'safeTransferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1261,7 +1237,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { anonymous: false, inputs: [ { @@ -1281,11 +1257,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Transfer', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1305,11 +1280,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Approval', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1329,8 +1303,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'ApprovalForAll', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1404,7 +1377,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('ERC721Token', ERC721TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1412,7 +1390,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts index a6eecd9aad..fd6b09065b 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -24,7 +24,6 @@ import * as ethers from 'ethers'; import * as _ from 'lodash'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -34,8 +33,7 @@ export class EthBalanceCheckerContract extends BaseContract { addresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isArray('addresses', addresses); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -45,9 +43,8 @@ export class EthBalanceCheckerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as EthBalanceCheckerContract; - const encodedData = self._strictEncodeArguments('getEthBalances(address[])', [addresses - ]); + const self = (this as any) as EthBalanceCheckerContract; + const encodedData = self._strictEncodeArguments('getEthBalances(address[])', [addresses]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -56,32 +53,30 @@ export class EthBalanceCheckerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - addresses: string[], - ): string { + getABIEncodedTransactionData(addresses: string[]): string { assert.isArray('addresses', addresses); - const self = this as any as EthBalanceCheckerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getEthBalances(address[])', [addresses - ]); + const self = (this as any) as EthBalanceCheckerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getEthBalances(address[])', [addresses]); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -94,8 +89,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return EthBalanceCheckerContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return EthBalanceCheckerContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, @@ -112,17 +112,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -130,18 +126,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`EthBalanceChecker successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new EthBalanceCheckerContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new EthBalanceCheckerContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -163,11 +163,23 @@ public static async deployFrom0xArtifactAsync( ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('EthBalanceChecker', EthBalanceCheckerContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'EthBalanceChecker', + EthBalanceCheckerContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts index 2b78ee980a..ca14974c8f 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -84,7 +87,6 @@ export interface ExchangeAssetProxyRegisteredEventArgs extends DecodedLogArgs { assetProxy: string; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -94,8 +96,7 @@ export class ExchangeContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -105,9 +106,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('filled(bytes32)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('filled(bytes32)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -116,128 +116,179 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('filled(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('filled(bytes32)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('filled(bytes32)', [index_0]); return abiEncodedTransactionData; }, }; public batchFillOrders = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchFillOrders.estimateGasAsync.bind( - self, - orders, - takerAssetFillAmounts, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchFillOrders.estimateGasAsync.bind(self, orders, takerAssetFillAmounts, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.batchFillOrders.sendTransactionAsync(orders, - takerAssetFillAmounts, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.batchFillOrders.sendTransactionAsync( + orders, + takerAssetFillAmounts, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); @@ -249,11 +300,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -262,30 +313,51 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); return abiEncodedTransactionData; }, }; @@ -294,8 +366,7 @@ export class ExchangeContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -305,9 +376,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelled(bytes32)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -316,24 +386,22 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('cancelled(bytes32)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); return abiEncodedTransactionData; }, }; @@ -342,36 +410,32 @@ export class ExchangeContract extends BaseContract { hash: string, signerAddress: string, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.preSign.estimateGasAsync.bind( - self, + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ hash, signerAddress.toLowerCase(), - signature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + signature, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.preSign.estimateGasAsync.bind(self, hash, signerAddress.toLowerCase(), signature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( hash: string, @@ -381,25 +445,27 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const txHashPromise = self.preSign.sendTransactionAsync(hash, - signerAddress.toLowerCase(), - signature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.preSign.sendTransactionAsync( + hash, + signerAddress.toLowerCase(), + signature, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( hash: string, @@ -407,28 +473,29 @@ export class ExchangeContract extends BaseContract { signature: string, txData?: Partial | undefined, ): Promise { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( hash: string, @@ -436,8 +503,7 @@ export class ExchangeContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); @@ -449,11 +515,12 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -462,147 +529,248 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('preSign(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - hash: string, - signerAddress: string, - signature: string, - ): string { + getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); return abiEncodedTransactionData; }, }; public matchOrders = { async sendTransactionAsync( - leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + leftOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, leftSignature: string, rightSignature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - - - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, - rightOrder, - leftSignature, - rightSignature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.matchOrders.estimateGasAsync.bind( - self, - leftOrder, - rightOrder, - leftSignature, - rightSignature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [leftOrder, rightOrder, leftSignature, rightSignature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.matchOrders.estimateGasAsync.bind(self, leftOrder, rightOrder, leftSignature, rightSignature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + leftOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, leftSignature: string, rightSignature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); - const self = this as any as ExchangeContract; - const txHashPromise = self.matchOrders.sendTransactionAsync(leftOrder, - rightOrder, - leftSignature, - rightSignature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.matchOrders.sendTransactionAsync( + leftOrder, + rightOrder, + leftSignature, + rightSignature, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + leftOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, leftSignature: string, rightSignature: string, txData?: Partial | undefined, ): Promise { - - - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, - rightOrder, - leftSignature, - rightSignature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [leftOrder, rightOrder, leftSignature, rightSignature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + leftOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, leftSignature: string, rightSignature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} - > { - - + ): Promise<{ + left: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + right: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + leftMakerAssetSpreadAmount: BigNumber; + }> { assert.isString('leftSignature', leftSignature); assert.isString('rightSignature', rightSignature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -613,12 +781,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, - rightOrder, - leftSignature, - rightSignature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [leftOrder, rightOrder, leftSignature, rightSignature], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -627,138 +794,227 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + left: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + right: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + leftMakerAssetSpreadAmount: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - leftSignature: string, - rightSignature: string, - ): string { - - + leftOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + leftSignature: string, + rightSignature: string, + ): string { assert.isString('leftSignature', leftSignature); assert.isString('rightSignature', rightSignature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, - rightOrder, - leftSignature, - rightSignature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [leftOrder, rightOrder, leftSignature, rightSignature], + ); return abiEncodedTransactionData; }, }; public fillOrderNoThrow = { async sendTransactionAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.fillOrderNoThrow.estimateGasAsync.bind( - self, - order, - takerAssetFillAmount, - signature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.fillOrderNoThrow.estimateGasAsync.bind(self, order, takerAssetFillAmount, signature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const txHashPromise = self.fillOrderNoThrow.sendTransactionAsync(order, - takerAssetFillAmount, - signature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.fillOrderNoThrow.sendTransactionAsync( + order, + takerAssetFillAmount, + signature, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial | undefined, ): Promise { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { - + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -769,11 +1025,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -782,40 +1038,55 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { - + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + takerAssetFillAmount: BigNumber, + signature: string, + ): string { assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); return abiEncodedTransactionData; }, }; public assetProxies = { - async callAsync( - index_0: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(index_0: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -825,9 +1096,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -836,106 +1106,155 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('assetProxies(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); return abiEncodedTransactionData; }, }; public batchCancelOrders = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - txData?: Partial | undefined, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchCancelOrders.estimateGasAsync.bind( - self, - orders - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + [orders], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchCancelOrders.estimateGasAsync.bind(self, orders), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - const self = this as any as ExchangeContract; - const txHashPromise = self.batchCancelOrders.sendTransactionAsync(orders - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.batchCancelOrders.sendTransactionAsync(orders, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + [orders], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isArray('orders', orders); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -945,9 +1264,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + [orders], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -956,128 +1277,199 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])'); + const abiEncoder = self._lookupAbiEncoder( + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + ): string { assert.isArray('orders', orders); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + [orders], + ); return abiEncodedTransactionData; }, }; public batchFillOrKillOrders = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchFillOrKillOrders.estimateGasAsync.bind( - self, - orders, - takerAssetFillAmounts, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchFillOrKillOrders.estimateGasAsync.bind(self, orders, takerAssetFillAmounts, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.batchFillOrKillOrders.sendTransactionAsync(orders, - takerAssetFillAmounts, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.batchFillOrKillOrders.sendTransactionAsync( + orders, + takerAssetFillAmounts, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); @@ -1089,11 +1481,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1102,60 +1494,74 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); return abiEncodedTransactionData; }, }; public cancelOrdersUpTo = { - async sendTransactionAsync( - targetOrderEpoch: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.cancelOrdersUpTo.estimateGasAsync.bind( - self, - targetOrderEpoch - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.cancelOrdersUpTo.estimateGasAsync.bind(self, targetOrderEpoch), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( targetOrderEpoch: BigNumber, @@ -1163,51 +1569,45 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = this as any as ExchangeContract; - const txHashPromise = self.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - targetOrderEpoch: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( targetOrderEpoch: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1217,9 +1617,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1228,128 +1627,181 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('cancelOrdersUpTo(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - targetOrderEpoch: BigNumber, - ): string { + getABIEncodedTransactionData(targetOrderEpoch: BigNumber): string { assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [ + targetOrderEpoch, + ]); return abiEncodedTransactionData; }, }; public batchFillOrdersNoThrow = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchFillOrdersNoThrow.estimateGasAsync.bind( - self, - orders, - takerAssetFillAmounts, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchFillOrdersNoThrow.estimateGasAsync.bind(self, orders, takerAssetFillAmounts, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.batchFillOrdersNoThrow.sendTransactionAsync(orders, - takerAssetFillAmounts, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.batchFillOrdersNoThrow.sendTransactionAsync( + orders, + takerAssetFillAmounts, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); @@ -1361,11 +1813,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1374,30 +1826,51 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); return abiEncodedTransactionData; }, }; @@ -1406,8 +1879,7 @@ export class ExchangeContract extends BaseContract { assetProxyId: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxyId', assetProxyId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1417,9 +1889,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1428,24 +1899,22 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetProxyId: string, - ): string { + getABIEncodedTransactionData(assetProxyId: string): string { assert.isString('assetProxyId', assetProxyId); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); return abiEncodedTransactionData; }, }; @@ -1454,8 +1923,7 @@ export class ExchangeContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1465,9 +1933,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('transactions(bytes32)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('transactions(bytes32)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1476,129 +1943,176 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transactions(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactions(bytes32)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transactions(bytes32)', [index_0]); return abiEncodedTransactionData; }, }; public fillOrKillOrder = { async sendTransactionAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.fillOrKillOrder.estimateGasAsync.bind( - self, - order, - takerAssetFillAmount, - signature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.fillOrKillOrder.estimateGasAsync.bind(self, order, takerAssetFillAmount, signature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const txHashPromise = self.fillOrKillOrder.sendTransactionAsync(order, - takerAssetFillAmount, - signature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.fillOrKillOrder.sendTransactionAsync( + order, + takerAssetFillAmount, + signature, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial | undefined, ): Promise { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { - + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1609,11 +2123,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1622,30 +2136,50 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { - + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + takerAssetFillAmount: BigNumber, + signature: string, + ): string { assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); return abiEncodedTransactionData; }, }; @@ -1653,33 +2187,34 @@ export class ExchangeContract extends BaseContract { async sendTransactionAsync( validatorAddress: string, approval: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), - approval - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setSignatureValidatorApproval.estimateGasAsync.bind( - self, + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ validatorAddress.toLowerCase(), - approval - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + approval, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setSignatureValidatorApproval.estimateGasAsync.bind( + self, + validatorAddress.toLowerCase(), + approval, + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( validatorAddress: string, @@ -1688,57 +2223,59 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = this as any as ExchangeContract; - const txHashPromise = self.setSignatureValidatorApproval.sendTransactionAsync(validatorAddress.toLowerCase(), - approval - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.setSignatureValidatorApproval.sendTransactionAsync( + validatorAddress.toLowerCase(), + approval, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( validatorAddress: string, approval: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), - approval - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ + validatorAddress.toLowerCase(), + approval, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( validatorAddress: string, approval: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('validatorAddress', validatorAddress); assert.isBoolean('approval', approval); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1749,10 +2286,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), - approval - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ + validatorAddress.toLowerCase(), + approval, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1761,27 +2299,26 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - validatorAddress: string, - approval: boolean, - ): string { + getABIEncodedTransactionData(validatorAddress: string, approval: boolean): string { assert.isString('validatorAddress', validatorAddress); assert.isBoolean('approval', approval); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), - approval - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'setSignatureValidatorApproval(address,bool)', + [validatorAddress.toLowerCase(), approval], + ); return abiEncodedTransactionData; }, }; @@ -1791,8 +2328,7 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1803,10 +2339,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('allowedValidators(address,address)', [index_0.toLowerCase(), - index_1.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('allowedValidators(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1815,131 +2352,183 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - index_1: string, - ): string { + getABIEncodedTransactionData(index_0: string, index_1: string): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowedValidators(address,address)', [index_0.toLowerCase(), - index_1.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowedValidators(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public marketSellOrders = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketSellOrders.estimateGasAsync.bind( - self, - orders, - takerAssetFillAmount, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketSellOrders.estimateGasAsync.bind(self, orders, takerAssetFillAmount, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.marketSellOrders.sendTransactionAsync(orders, - takerAssetFillAmount, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.marketSellOrders.sendTransactionAsync( + orders, + takerAssetFillAmount, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); @@ -1951,11 +2540,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1964,40 +2553,73 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); return abiEncodedTransactionData; }, }; public getOrdersInfo = { async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise - > { + ): Promise> { assert.isArray('orders', orders); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -2007,9 +2629,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + [orders], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2018,24 +2642,44 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }> + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + ): string { assert.isArray('orders', orders); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + [orders], + ); return abiEncodedTransactionData; }, }; @@ -2045,8 +2689,7 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2057,10 +2700,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSigned(bytes32,address)', [index_0, - index_1.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSigned(bytes32,address)', [ + index_0, + index_1.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2069,36 +2713,31 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('preSigned(bytes32,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - index_1: string, - ): string { + getABIEncodedTransactionData(index_0: string, index_1: string): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('preSigned(bytes32,address)', [index_0, - index_1.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('preSigned(bytes32,address)', [ + index_0, + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2107,7 +2746,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; + const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2117,20 +2756,20 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ExchangeContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -2142,8 +2781,7 @@ export class ExchangeContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); @@ -2155,11 +2793,12 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2168,134 +2807,185 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - hash: string, - signerAddress: string, - signature: string, - ): string { + getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); return abiEncodedTransactionData; }, }; public marketBuyOrdersNoThrow = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketBuyOrdersNoThrow.estimateGasAsync.bind( - self, - orders, - makerAssetFillAmount, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketBuyOrdersNoThrow.estimateGasAsync.bind(self, orders, makerAssetFillAmount, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.marketBuyOrdersNoThrow.sendTransactionAsync(orders, - makerAssetFillAmount, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.marketBuyOrdersNoThrow.sendTransactionAsync( + orders, + makerAssetFillAmount, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); @@ -2307,11 +2997,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2320,135 +3010,200 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - makerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); return abiEncodedTransactionData; }, }; public fillOrder = { async sendTransactionAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.fillOrder.estimateGasAsync.bind( - self, - order, - takerAssetFillAmount, - signature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.fillOrder.estimateGasAsync.bind(self, order, takerAssetFillAmount, signature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const txHashPromise = self.fillOrder.sendTransactionAsync(order, - takerAssetFillAmount, - signature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.fillOrder.sendTransactionAsync(order, takerAssetFillAmount, signature, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial | undefined, ): Promise { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { - + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2459,11 +3214,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2472,30 +3227,50 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { - + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + takerAssetFillAmount: BigNumber, + signature: string, + ): string { assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); return abiEncodedTransactionData; }, }; @@ -2505,39 +3280,34 @@ export class ExchangeContract extends BaseContract { signerAddress: string, data: string, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('salt', salt); - assert.isString('signerAddress', signerAddress); - assert.isString('data', data); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, - signerAddress.toLowerCase(), - data, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeTransaction.estimateGasAsync.bind( - self, + assert.isBigNumber('salt', salt); + assert.isString('signerAddress', signerAddress); + assert.isString('data', data); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [ salt, signerAddress.toLowerCase(), data, - signature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + signature, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeTransaction.estimateGasAsync.bind(self, salt, signerAddress.toLowerCase(), data, signature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( salt: BigNumber, @@ -2548,27 +3318,29 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('salt', salt); - assert.isString('signerAddress', signerAddress); - assert.isString('data', data); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync(salt, - signerAddress.toLowerCase(), - data, - signature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('salt', salt); + assert.isString('signerAddress', signerAddress); + assert.isString('data', data); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.executeTransaction.sendTransactionAsync( + salt, + signerAddress.toLowerCase(), + data, + signature, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( salt: BigNumber, @@ -2577,30 +3349,31 @@ export class ExchangeContract extends BaseContract { signature: string, txData?: Partial | undefined, ): Promise { - assert.isBigNumber('salt', salt); - assert.isString('signerAddress', signerAddress); - assert.isString('data', data); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, - signerAddress.toLowerCase(), - data, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isBigNumber('salt', salt); + assert.isString('signerAddress', signerAddress); + assert.isString('data', data); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [ + salt, + signerAddress.toLowerCase(), + data, + signature, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( salt: BigNumber, @@ -2609,8 +3382,7 @@ export class ExchangeContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('salt', salt); assert.isString('signerAddress', signerAddress); assert.isString('data', data); @@ -2623,12 +3395,13 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, - signerAddress.toLowerCase(), - data, - signature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [ + salt, + signerAddress.toLowerCase(), + data, + signature, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2637,63 +3410,51 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256,address,bytes,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - salt: BigNumber, - signerAddress: string, - data: string, - signature: string, - ): string { + getABIEncodedTransactionData(salt: BigNumber, signerAddress: string, data: string, signature: string): string { assert.isBigNumber('salt', salt); assert.isString('signerAddress', signerAddress); assert.isString('data', data); assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, - signerAddress.toLowerCase(), - data, - signature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'executeTransaction(uint256,address,bytes,bytes)', + [salt, signerAddress.toLowerCase(), data, signature], + ); return abiEncodedTransactionData; }, }; public registerAssetProxy = { - async sendTransactionAsync( - assetProxy: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('assetProxy', assetProxy); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.registerAssetProxy.estimateGasAsync.bind( - self, - assetProxy.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(assetProxy: string, txData?: Partial | undefined): Promise { + assert.isString('assetProxy', assetProxy); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.registerAssetProxy.estimateGasAsync.bind(self, assetProxy.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetProxy: string, @@ -2701,51 +3462,45 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxy', assetProxy); - const self = this as any as ExchangeContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetProxy', assetProxy); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - assetProxy: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('assetProxy', assetProxy); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(assetProxy: string, txData?: Partial | undefined): Promise { + assert.isString('assetProxy', assetProxy); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetProxy: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxy', assetProxy); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -2755,9 +3510,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2766,35 +3520,46 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetProxy: string, - ): string { + getABIEncodedTransactionData(assetProxy: string): string { assert.isString('assetProxy', assetProxy); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [ + assetProxy.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public getOrderInfo = { async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber} - > { - + ): Promise<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }> { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2803,9 +3568,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2814,107 +3581,173 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + orderStatus: number; + orderHash: string; + orderTakerAssetFilledAmount: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - ): string { - - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); + getABIEncodedTransactionData(order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }): string { + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); return abiEncodedTransactionData; }, }; public cancelOrder = { async sendTransactionAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - txData?: Partial | undefined, - ): Promise { - - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; }, - self._web3Wrapper.getContractDefaults(), - self.cancelOrder.estimateGasAsync.bind( - self, - order - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + txData?: Partial | undefined, + ): Promise { + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.cancelOrder.estimateGasAsync.bind(self, order), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - const self = this as any as ExchangeContract; - const txHashPromise = self.cancelOrder.sendTransactionAsync(order - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.cancelOrder.sendTransactionAsync(order, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, txData?: Partial | undefined, ): Promise { - - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2923,9 +3756,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2934,24 +3769,39 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'); + const abiEncoder = self._lookupAbiEncoder( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - ): string { - - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); + getABIEncodedTransactionData(order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }): string { + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); return abiEncodedTransactionData; }, }; @@ -2961,8 +3811,7 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2973,10 +3822,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('orderEpoch(address,address)', [index_0.toLowerCase(), - index_1.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('orderEpoch(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2985,36 +3835,31 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - index_1: string, - ): string { + getABIEncodedTransactionData(index_0: string, index_1: string): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('orderEpoch(address,address)', [index_0.toLowerCase(), - index_1.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('orderEpoch(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public ZRX_ASSET_DATA = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3023,7 +3868,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; + const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments('ZRX_ASSET_DATA()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3033,125 +3878,178 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('ZRX_ASSET_DATA()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ExchangeContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('ZRX_ASSET_DATA()', []); return abiEncodedTransactionData; }, }; public marketSellOrdersNoThrow = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketSellOrdersNoThrow.estimateGasAsync.bind( - self, - orders, - takerAssetFillAmount, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketSellOrdersNoThrow.estimateGasAsync.bind(self, orders, takerAssetFillAmount, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.marketSellOrdersNoThrow.sendTransactionAsync(orders, - takerAssetFillAmount, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.marketSellOrdersNoThrow.sendTransactionAsync( + orders, + takerAssetFillAmount, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); @@ -3163,11 +4061,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3176,39 +4074,56 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); return abiEncodedTransactionData; }, }; public EIP712_DOMAIN_HASH = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3217,7 +4132,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; + const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments('EIP712_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3227,125 +4142,178 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('EIP712_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ExchangeContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, }; public marketBuyOrders = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketBuyOrders.estimateGasAsync.bind( - self, - orders, - makerAssetFillAmount, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketBuyOrders.estimateGasAsync.bind(self, orders, makerAssetFillAmount, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.marketBuyOrders.sendTransactionAsync(orders, - makerAssetFillAmount, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.marketBuyOrders.sendTransactionAsync( + orders, + makerAssetFillAmount, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); @@ -3357,11 +4325,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3370,39 +4338,56 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - makerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); return abiEncodedTransactionData; }, }; public currentContextAddress = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3411,7 +4396,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; + const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments('currentContextAddress()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3421,51 +4406,44 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('currentContextAddress()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ExchangeContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('currentContextAddress()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -3473,51 +4451,41 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as ExchangeContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -3527,9 +4495,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3538,33 +4505,29 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public VERSION = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3573,7 +4536,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; + const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments('VERSION()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3583,31 +4546,31 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('VERSION()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ExchangeContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('VERSION()', []); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _zrxAssetData: string, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _zrxAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -3620,9 +4583,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return ExchangeContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _zrxAssetData -); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return ExchangeContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _zrxAssetData); } public static async deployAsync( bytecode: string, @@ -3630,7 +4597,7 @@ public static async deployFrom0xArtifactAsync( supportedProvider: SupportedProvider, txDefaults: Partial, abiDependencies: { [contractName: string]: ContractAbi }, - _zrxAssetData: string, + _zrxAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -3640,20 +4607,17 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_zrxAssetData -] = BaseContract._formatABIDataItemList( + [_zrxAssetData] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_zrxAssetData -], + [_zrxAssetData], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_zrxAssetData -]); + const txData = deployInfo.encode(bytecode, [_zrxAssetData]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -3661,19 +4625,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`Exchange successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ExchangeContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); - contractInstance.constructorArgs = [_zrxAssetData -]; + const contractInstance = new ExchangeContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); + contractInstance.constructorArgs = [_zrxAssetData]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -3692,7 +4659,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -3747,7 +4714,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmounts', @@ -3780,14 +4747,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -3806,7 +4773,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -3823,13 +4790,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'preSign', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -3884,7 +4850,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'rightOrder', @@ -3938,7 +4904,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'leftSignature', @@ -3975,7 +4941,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, { name: 'right', @@ -3997,20 +4963,20 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, { name: 'leftMakerAssetSpreadAmount', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4065,7 +5031,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmount', @@ -4098,14 +5064,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4124,7 +5090,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4179,17 +5145,16 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, ], name: 'batchCancelOrders', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4244,7 +5209,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmounts', @@ -4277,14 +5242,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4293,13 +5258,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'cancelOrdersUpTo', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4354,7 +5318,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmounts', @@ -4387,14 +5351,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4413,7 +5377,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4432,7 +5396,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4487,7 +5451,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmount', @@ -4520,14 +5484,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4540,13 +5504,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'setSignatureValidatorApproval', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4569,7 +5532,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4624,7 +5587,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmount', @@ -4657,14 +5620,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4719,7 +5682,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, ], name: 'getOrdersInfo', @@ -4740,14 +5703,14 @@ public static async deployFrom0xArtifactAsync( name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4770,10 +5733,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -4785,7 +5747,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4812,7 +5774,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4867,7 +5829,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'makerAssetFillAmount', @@ -4900,14 +5862,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4962,7 +5924,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmount', @@ -4995,14 +5957,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5023,13 +5985,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'executeTransaction', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5038,13 +5999,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'registerAssetProxy', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5099,7 +6059,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, ], name: 'getOrderInfo', @@ -5120,14 +6080,14 @@ public static async deployFrom0xArtifactAsync( name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5182,17 +6142,16 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, ], name: 'cancelOrder', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5215,10 +6174,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'ZRX_ASSET_DATA', outputs: [ { @@ -5230,7 +6188,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5285,7 +6243,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmount', @@ -5318,17 +6276,16 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'EIP712_DOMAIN_HASH', outputs: [ { @@ -5340,7 +6297,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5395,7 +6352,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'makerAssetFillAmount', @@ -5428,17 +6385,16 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'currentContextAddress', outputs: [ { @@ -5450,7 +6406,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5459,16 +6415,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'VERSION', outputs: [ { @@ -5480,20 +6434,19 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_zrxAssetData', type: 'bytes', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -5513,11 +6466,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'SignatureValidatorApproval', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -5577,11 +6529,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Fill', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -5616,11 +6567,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Cancel', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -5640,11 +6590,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'CancelUpTo', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -5659,8 +6608,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AssetProxyRegistered', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -5734,7 +6682,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('Exchange', ExchangeContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -5742,7 +6695,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts index 8534657a74..516d23f1c6 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -24,68 +24,123 @@ import * as ethers from 'ethers'; import * as _ from 'lodash'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ForwarderContract extends BaseContract { public marketBuyOrdersWithEth = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketBuyOrdersWithEth.estimateGasAsync.bind( - self, - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [ + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + ], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketBuyOrdersWithEth.estimateGasAsync.bind( + self, + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, @@ -93,86 +148,158 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const txHashPromise = self.marketBuyOrdersWithEth.sendTransactionAsync(orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = (this as any) as ForwarderContract; + const txHashPromise = self.marketBuyOrdersWithEth.sendTransactionAsync( + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [ + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + ], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] + ): Promise< + [ + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }, + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + } + ] > { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); @@ -189,15 +316,19 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [ + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + ], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -206,26 +337,70 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)'); + const abiEncoder = self._lookupAbiEncoder( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + [ + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }, + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + } + ] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - makerAssetFillAmount: BigNumber, - signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - feeSignatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + feeSignatures: string[], + feePercentage: BigNumber, + feeRecipient: string, + ): string { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); @@ -233,15 +408,19 @@ export class ForwarderContract extends BaseContract { assert.isArray('feeSignatures', feeSignatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); + const self = (this as any) as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [ + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + ], + ); return abiEncodedTransactionData; }, }; @@ -249,33 +428,27 @@ export class ForwarderContract extends BaseContract { async sendTransactionAsync( assetData: string, amount: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, - amount - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.withdrawAsset.estimateGasAsync.bind( - self, - assetData, - amount - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.withdrawAsset.estimateGasAsync.bind(self, assetData, amount), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetData: string, @@ -284,57 +457,52 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = this as any as ForwarderContract; - const txHashPromise = self.withdrawAsset.sendTransactionAsync(assetData, - amount - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = (this as any) as ForwarderContract; + const txHashPromise = self.withdrawAsset.sendTransactionAsync(assetData, amount, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( assetData: string, amount: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, - amount - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetData: string, amount: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetData', assetData); assert.isBigNumber('amount', amount); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -345,10 +513,8 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, - amount - ]); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -357,36 +523,31 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetData: string, - amount: BigNumber, - ): string { + getABIEncodedTransactionData(assetData: string, amount: BigNumber): string { assert.isString('assetData', assetData); assert.isBigNumber('amount', amount); - const self = this as any as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, - amount - ]); + const self = (this as any) as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [ + assetData, + amount, + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -395,7 +556,7 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ForwarderContract; + const self = (this as any) as ForwarderContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -405,157 +566,271 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ForwarderContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ForwarderContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, }; public marketSellOrdersWithEth = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketSellOrdersWithEth.estimateGasAsync.bind( - self, + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketSellOrdersWithEth.estimateGasAsync.bind( + self, + orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; + }, + awaitTransactionSuccessAsync( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + signatures: string[], + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + feeSignatures: string[], + feePercentage: BigNumber, + feeRecipient: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = (this as any) as ForwarderContract; + const txHashPromise = self.marketSellOrdersWithEth.sendTransactionAsync( orders, signatures, feeOrders, feeSignatures, feePercentage, - feeRecipient.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; - }, - awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - feeSignatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const txHashPromise = self.marketSellOrdersWithEth.sendTransactionAsync(orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + feeRecipient.toLowerCase(), + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] + ): Promise< + [ + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }, + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + } + ] > { assert.isArray('orders', orders); assert.isArray('signatures', signatures); @@ -571,14 +846,11 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -587,69 +859,103 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)'); + const abiEncoder = self._lookupAbiEncoder( + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + [ + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }, + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + } + ] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - feeSignatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + signatures: string[], + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + feeSignatures: string[], + feePercentage: BigNumber, + feeRecipient: string, + ): string { assert.isArray('orders', orders); assert.isArray('signatures', signatures); assert.isArray('feeOrders', feeOrders); assert.isArray('feeSignatures', feeSignatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); + const self = (this as any) as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], + ); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -657,51 +963,41 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as ForwarderContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as ForwarderContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -711,9 +1007,8 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -722,35 +1017,35 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _exchange: string, - _zrxAssetData: string, - _wethAssetData: string, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _exchange: string, + _zrxAssetData: string, + _wethAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -763,11 +1058,22 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return ForwarderContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _exchange, -_zrxAssetData, -_wethAssetData -); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return ForwarderContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + abiDependencies, + _exchange, + _zrxAssetData, + _wethAssetData, + ); } public static async deployAsync( bytecode: string, @@ -775,9 +1081,9 @@ _wethAssetData supportedProvider: SupportedProvider, txDefaults: Partial, abiDependencies: { [contractName: string]: ContractAbi }, - _exchange: string, - _zrxAssetData: string, - _wethAssetData: string, + _exchange: string, + _zrxAssetData: string, + _wethAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -787,26 +1093,17 @@ _wethAssetData ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange, -_zrxAssetData, -_wethAssetData -] = BaseContract._formatABIDataItemList( + [_exchange, _zrxAssetData, _wethAssetData] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange, -_zrxAssetData, -_wethAssetData -], + [_exchange, _zrxAssetData, _wethAssetData], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange, -_zrxAssetData, -_wethAssetData -]); + const txData = deployInfo.encode(bytecode, [_exchange, _zrxAssetData, _wethAssetData]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -814,21 +1111,22 @@ _wethAssetData logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`Forwarder successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ForwarderContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); - contractInstance.constructorArgs = [_exchange, -_zrxAssetData, -_wethAssetData -]; + const contractInstance = new ForwarderContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); + contractInstance.constructorArgs = [_exchange, _zrxAssetData, _wethAssetData]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -883,7 +1181,7 @@ _wethAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'makerAssetFillAmount', @@ -945,7 +1243,7 @@ _wethAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'feeSignatures', @@ -982,7 +1280,7 @@ _wethAssetData name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, { name: 'feeOrderFillResults', @@ -1004,14 +1302,14 @@ _wethAssetData name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: true, stateMutability: 'payable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1024,16 +1322,14 @@ _wethAssetData }, ], name: 'withdrawAsset', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -1045,7 +1341,7 @@ _wethAssetData stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1100,7 +1396,7 @@ _wethAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'signatures', @@ -1158,7 +1454,7 @@ _wethAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'feeSignatures', @@ -1195,7 +1491,7 @@ _wethAssetData name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, { name: 'feeOrderFillResults', @@ -1217,14 +1513,14 @@ _wethAssetData name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: true, stateMutability: 'payable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1233,13 +1529,12 @@ _wethAssetData }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_exchange', @@ -1254,17 +1549,14 @@ _wethAssetData type: 'bytes', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: true, stateMutability: 'payable', type: 'fallback', @@ -1272,11 +1564,16 @@ _wethAssetData ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('Forwarder', ForwarderContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts index 177f842968..c2bceb318a 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -24,38 +24,30 @@ import * as ethers from 'ethers'; import * as _ from 'lodash'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class IAssetProxyContract extends BaseContract { public addAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -63,51 +55,41 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as IAssetProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -117,9 +99,8 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -128,54 +109,47 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -183,51 +157,41 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as IAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -237,9 +201,8 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -248,24 +211,24 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; @@ -273,33 +236,30 @@ export class IAssetProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( - self, + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ target.toLowerCase(), - index - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -308,57 +268,59 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as IAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), - index - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as IAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( + target.toLowerCase(), + index, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -369,10 +331,11 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -381,27 +344,26 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - index: BigNumber, - ): string { + getABIEncodedTransactionData(target: string, index: BigNumber): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = this as any as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'removeAuthorizedAddressAtIndex(address,uint256)', + [target.toLowerCase(), index], + ); return abiEncodedTransactionData; }, }; @@ -411,39 +373,34 @@ export class IAssetProxyContract extends BaseContract { from: string, to: string, amount: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, - from.toLowerCase(), - to.toLowerCase(), - amount - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ assetData, from.toLowerCase(), to.toLowerCase(), - amount - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + amount, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, assetData, from.toLowerCase(), to.toLowerCase(), amount), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetData: string, @@ -454,27 +411,29 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); - const self = this as any as IAssetProxyContract; - const txHashPromise = self.transferFrom.sendTransactionAsync(assetData, - from.toLowerCase(), - to.toLowerCase(), - amount - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); + const self = (this as any) as IAssetProxyContract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + assetData, + from.toLowerCase(), + to.toLowerCase(), + amount, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( assetData: string, @@ -483,30 +442,31 @@ export class IAssetProxyContract extends BaseContract { amount: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, - from.toLowerCase(), - to.toLowerCase(), - amount - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ + assetData, + from.toLowerCase(), + to.toLowerCase(), + amount, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetData: string, @@ -515,8 +475,7 @@ export class IAssetProxyContract extends BaseContract { amount: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetData', assetData); assert.isString('from', from); assert.isString('to', to); @@ -529,12 +488,13 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, - from.toLowerCase(), - to.toLowerCase(), - amount - ]); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ + assetData, + from.toLowerCase(), + to.toLowerCase(), + amount, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -543,42 +503,33 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetData: string, - from: string, - to: string, - amount: BigNumber, - ): string { + getABIEncodedTransactionData(assetData: string, from: string, to: string, amount: BigNumber): string { assert.isString('assetData', assetData); assert.isString('from', from); assert.isString('to', to); assert.isBigNumber('amount', amount); - const self = this as any as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, - from.toLowerCase(), - to.toLowerCase(), - amount - ]); + const self = (this as any) as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'transferFrom(bytes,address,address,uint256)', + [assetData, from.toLowerCase(), to.toLowerCase(), amount], + ); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -587,7 +538,7 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; + const self = (this as any) as IAssetProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -597,30 +548,26 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as IAssetProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as IAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -629,7 +576,7 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; + const self = (this as any) as IAssetProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -639,51 +586,44 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as IAssetProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as IAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -691,51 +631,41 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as IAssetProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as IAssetProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -745,9 +675,8 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -756,32 +685,32 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -794,8 +723,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return IAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return IAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, @@ -812,17 +746,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -830,18 +760,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`IAssetProxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new IAssetProxyContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new IAssetProxyContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -850,13 +784,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'addAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -865,13 +798,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -884,13 +816,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -911,16 +842,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getProxyId', outputs: [ { @@ -932,10 +861,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'pure', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getAuthorizedAddresses', outputs: [ { @@ -947,7 +875,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -956,8 +884,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', @@ -965,11 +892,16 @@ public static async deployFrom0xArtifactAsync( ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('IAssetProxy', IAssetProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts index ace17f02b1..6c292e4867 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -24,7 +24,6 @@ import * as ethers from 'ethers'; import * as _ from 'lodash'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -36,8 +35,7 @@ export class IValidatorContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); @@ -49,11 +47,12 @@ export class IValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IValidatorContract; - const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); + const self = (this as any) as IValidatorContract; + const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -62,38 +61,36 @@ export class IValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - hash: string, - signerAddress: string, - signature: string, - ): string { + getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); - const self = this as any as IValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); + const self = (this as any) as IValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -106,8 +103,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return IValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return IValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, @@ -124,17 +126,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -142,18 +140,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`IValidator successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new IValidatorContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new IValidatorContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -183,11 +185,16 @@ public static async deployFrom0xArtifactAsync( ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('IValidator', IValidatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts index 4b8ac08133..6b143c8ee8 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -24,7 +24,6 @@ import * as ethers from 'ethers'; import * as _ from 'lodash'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -35,8 +34,7 @@ export class IWalletContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -47,10 +45,8 @@ export class IWalletContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IWalletContract; - const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [hash, - signature - ]); + const self = (this as any) as IWalletContract; + const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [hash, signature]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -59,35 +55,34 @@ export class IWalletContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - hash: string, - signature: string, - ): string { + getABIEncodedTransactionData(hash: string, signature: string): string { assert.isString('hash', hash); assert.isString('signature', signature); - const self = this as any as IWalletContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [hash, - signature - ]); + const self = (this as any) as IWalletContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [ + hash, + signature, + ]); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -100,8 +95,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return IWalletContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return IWalletContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, @@ -118,17 +118,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -136,18 +132,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`IWallet successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new IWalletContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new IWalletContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -173,11 +173,16 @@ public static async deployFrom0xArtifactAsync( ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('IWallet', IWalletContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts index 746cba577e..1449af3601 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -55,18 +58,12 @@ export interface MultiAssetProxyAssetProxyRegisteredEventArgs extends DecodedLog assetProxy: string; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class MultiAssetProxyContract extends BaseContract { public assetProxies = { - async callAsync( - index_0: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(index_0: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -76,9 +73,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -87,54 +83,45 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('assetProxies(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); return abiEncodedTransactionData; }, }; public addAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -142,51 +129,41 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as MultiAssetProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -196,9 +173,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -207,24 +183,24 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; @@ -233,8 +209,7 @@ export class MultiAssetProxyContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -244,9 +219,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0 - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -255,24 +229,22 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorities(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - ): string { + getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0 - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0]); return abiEncodedTransactionData; }, }; @@ -281,8 +253,7 @@ export class MultiAssetProxyContract extends BaseContract { assetProxyId: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxyId', assetProxyId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -292,9 +263,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -303,54 +273,45 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetProxyId: string, - ): string { + getABIEncodedTransactionData(assetProxyId: string): string { assert.isString('assetProxyId', assetProxyId); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -358,51 +319,41 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as MultiAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -412,9 +363,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -423,33 +373,29 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -458,7 +404,7 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; + const self = (this as any) as MultiAssetProxyContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -468,20 +414,20 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as MultiAssetProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as MultiAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -490,33 +436,30 @@ export class MultiAssetProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( - self, + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ target.toLowerCase(), - index - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -525,57 +468,59 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as MultiAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), - index - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as MultiAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( + target.toLowerCase(), + index, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -586,10 +531,11 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -598,36 +544,31 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - index: BigNumber, - ): string { + getABIEncodedTransactionData(target: string, index: BigNumber): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'removeAuthorizedAddressAtIndex(address,uint256)', + [target.toLowerCase(), index], + ); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -636,7 +577,7 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; + const self = (this as any) as MultiAssetProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -646,20 +587,20 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as MultiAssetProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as MultiAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, @@ -669,8 +610,7 @@ export class MultiAssetProxyContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -680,9 +620,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -691,54 +630,47 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorized(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ + index_0.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public registerAssetProxy = { - async sendTransactionAsync( - assetProxy: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('assetProxy', assetProxy); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.registerAssetProxy.estimateGasAsync.bind( - self, - assetProxy.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(assetProxy: string, txData?: Partial | undefined): Promise { + assert.isString('assetProxy', assetProxy); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.registerAssetProxy.estimateGasAsync.bind(self, assetProxy.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetProxy: string, @@ -746,51 +678,45 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxy', assetProxy); - const self = this as any as MultiAssetProxyContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetProxy', assetProxy); + const self = (this as any) as MultiAssetProxyContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - assetProxy: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('assetProxy', assetProxy); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(assetProxy: string, txData?: Partial | undefined): Promise { + assert.isString('assetProxy', assetProxy); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetProxy: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxy', assetProxy); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -800,9 +726,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -811,33 +736,29 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetProxy: string, - ): string { + getABIEncodedTransactionData(assetProxy: string): string { assert.isString('assetProxy', assetProxy); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [ + assetProxy.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -846,7 +767,7 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; + const self = (this as any) as MultiAssetProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -856,51 +777,44 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as MultiAssetProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as MultiAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -908,51 +822,41 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as MultiAssetProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as MultiAssetProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -962,9 +866,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -973,33 +876,33 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1012,8 +915,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return MultiAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return MultiAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, @@ -1030,17 +938,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1048,18 +952,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`MultiAssetProxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new MultiAssetProxyContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new MultiAssetProxyContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -1078,7 +986,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1087,13 +995,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'addAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1112,7 +1019,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1131,7 +1038,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1140,16 +1047,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -1161,7 +1066,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1174,16 +1079,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getProxyId', outputs: [ { @@ -1195,7 +1098,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1214,7 +1117,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1223,16 +1126,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'registerAssetProxy', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getAuthorizedAddresses', outputs: [ { @@ -1244,7 +1145,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1253,22 +1154,19 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -1283,11 +1181,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AuthorizedAddressAdded', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1302,11 +1199,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AuthorizedAddressRemoved', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1321,8 +1217,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AssetProxyRegistered', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1396,15 +1291,27 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('MultiAssetProxy', MultiAssetProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'MultiAssetProxy', + MultiAssetProxyContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( MultiAssetProxyContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts index bd2513638d..a95b204c20 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -24,20 +24,44 @@ import * as ethers from 'ethers'; import * as _ from 'lodash'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class OrderValidatorContract extends BaseContract { public getOrderAndTraderInfo = { async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAddress: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}, {makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}] + ): Promise< + [ + { orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, + { + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + } + ] > { - assert.isString('takerAddress', takerAddress); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -47,10 +71,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, - takerAddress.toLowerCase() - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments( + 'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', + [order, takerAddress.toLowerCase()], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -59,27 +84,57 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}, {makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + [ + { orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, + { + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + } + ] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - takerAddress: string, - ): string { - + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + takerAddress: string, + ): string { assert.isString('takerAddress', takerAddress); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, - takerAddress.toLowerCase() - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', + [order, takerAddress.toLowerCase()], + ); return abiEncodedTransactionData; }, }; @@ -89,8 +144,7 @@ export class OrderValidatorContract extends BaseContract { assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[BigNumber, BigNumber] - > { + ): Promise<[BigNumber, BigNumber]> { assert.isString('target', target); assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -101,10 +155,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [target.toLowerCase(), - assetData - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [ + target.toLowerCase(), + assetData, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -113,37 +168,62 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getBalanceAndAllowance(address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber]>(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - assetData: string, - ): string { + getABIEncodedTransactionData(target: string, assetData: string): string { assert.isString('target', target); assert.isString('assetData', assetData); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [target.toLowerCase(), - assetData - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [ + target.toLowerCase(), + assetData, + ]); return abiEncodedTransactionData; }, }; public getOrdersAndTradersInfo = { async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAddresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[Array<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}>, Array<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}>] + ): Promise< + [ + Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, + Array<{ + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + }> + ] > { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); @@ -155,10 +235,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, - takerAddresses - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments( + 'getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', + [orders, takerAddresses], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -167,37 +248,91 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[Array<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}>, Array<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}>] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + [ + Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, + Array<{ + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + }> + ] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAddresses: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAddresses: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, - takerAddresses - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', + [orders, takerAddresses], + ); return abiEncodedTransactionData; }, }; public getTradersInfo = { async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAddresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise + ): Promise< + Array<{ + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + }> > { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); @@ -209,10 +344,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, - takerAddresses - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments( + 'getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', + [orders, takerAddresses], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -221,27 +357,55 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])'); + const abiEncoder = self._lookupAbiEncoder( + 'getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + Array<{ + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + }> + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAddresses: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAddresses: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, - takerAddresses - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', + [orders, takerAddresses], + ); return abiEncodedTransactionData; }, }; @@ -251,8 +415,7 @@ export class OrderValidatorContract extends BaseContract { tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('token', token); assert.isBigNumber('tokenId', tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -263,10 +426,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [token.toLowerCase(), - tokenId - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [ + token.toLowerCase(), + tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -275,27 +439,26 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getERC721TokenOwner(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - token: string, - tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(token: string, tokenId: BigNumber): string { assert.isString('token', token); assert.isBigNumber('tokenId', tokenId); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [token.toLowerCase(), - tokenId - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [ + token.toLowerCase(), + tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -305,8 +468,7 @@ export class OrderValidatorContract extends BaseContract { assetData: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[BigNumber[], BigNumber[]] - > { + ): Promise<[BigNumber[], BigNumber[]]> { assert.isString('target', target); assert.isArray('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -317,10 +479,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [target.toLowerCase(), - assetData - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [ + target.toLowerCase(), + assetData, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -329,39 +492,58 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getBalancesAndAllowances(address,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[BigNumber[], BigNumber[]] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[BigNumber[], BigNumber[]]>(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - assetData: string[], - ): string { + getABIEncodedTransactionData(target: string, assetData: string[]): string { assert.isString('target', target); assert.isArray('assetData', assetData); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [target.toLowerCase(), - assetData - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [ + target.toLowerCase(), + assetData, + ]); return abiEncodedTransactionData; }, }; public getTraderInfo = { async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAddress: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber} - > { - + ): Promise<{ + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + }> { assert.isString('takerAddress', takerAddress); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -371,10 +553,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, - takerAddress.toLowerCase() - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments( + 'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', + [order, takerAddress.toLowerCase()], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -383,37 +566,62 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)'); + const abiEncoder = self._lookupAbiEncoder( + 'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - takerAddress: string, - ): string { - + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + takerAddress: string, + ): string { assert.isString('takerAddress', takerAddress); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, - takerAddress.toLowerCase() - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', + [order, takerAddress.toLowerCase()], + ); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _exchange: string, - _zrxAssetData: string, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _exchange: string, + _zrxAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -426,10 +634,21 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return OrderValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _exchange, -_zrxAssetData -); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return OrderValidatorContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + abiDependencies, + _exchange, + _zrxAssetData, + ); } public static async deployAsync( bytecode: string, @@ -437,8 +656,8 @@ _zrxAssetData supportedProvider: SupportedProvider, txDefaults: Partial, abiDependencies: { [contractName: string]: ContractAbi }, - _exchange: string, - _zrxAssetData: string, + _exchange: string, + _zrxAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -448,23 +667,17 @@ _zrxAssetData ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange, -_zrxAssetData -] = BaseContract._formatABIDataItemList( + [_exchange, _zrxAssetData] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange, -_zrxAssetData -], + [_exchange, _zrxAssetData], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange, -_zrxAssetData -]); + const txData = deployInfo.encode(bytecode, [_exchange, _zrxAssetData]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -472,20 +685,22 @@ _zrxAssetData logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`OrderValidator successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new OrderValidatorContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); - contractInstance.constructorArgs = [_exchange, -_zrxAssetData -]; + const contractInstance = new OrderValidatorContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); + contractInstance.constructorArgs = [_exchange, _zrxAssetData]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -540,7 +755,7 @@ _zrxAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAddress', @@ -565,7 +780,7 @@ _zrxAssetData name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ] + ], }, { name: 'traderInfo', @@ -603,14 +818,14 @@ _zrxAssetData name: 'takerZrxAllowance', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -637,7 +852,7 @@ _zrxAssetData stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -692,7 +907,7 @@ _zrxAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAddresses', @@ -717,7 +932,7 @@ _zrxAssetData name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ] + ], }, { name: 'tradersInfo', @@ -755,14 +970,14 @@ _zrxAssetData name: 'takerZrxAllowance', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -817,7 +1032,7 @@ _zrxAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAddresses', @@ -862,14 +1077,14 @@ _zrxAssetData name: 'takerZrxAllowance', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -892,7 +1107,7 @@ _zrxAssetData stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -919,7 +1134,7 @@ _zrxAssetData stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -974,7 +1189,7 @@ _zrxAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAddress', @@ -1019,14 +1234,14 @@ _zrxAssetData name: 'takerZrxAllowance', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_exchange', @@ -1037,8 +1252,7 @@ _zrxAssetData type: 'bytes', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', @@ -1046,11 +1260,23 @@ _zrxAssetData ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('OrderValidator', OrderValidatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'OrderValidator', + OrderValidatorContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts index dcb129edf7..c7db77be2c 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -64,17 +67,12 @@ export interface WETH9WithdrawalEventArgs extends DecodedLogArgs { _value: BigNumber; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class WETH9Contract extends BaseContract { public name = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -83,7 +81,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; + const self = (this as any) as WETH9Contract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -93,55 +91,45 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as WETH9Contract; + getABIEncodedTransactionData(): string { + const self = (this as any) as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, }; public approve = { - async sendTransactionAsync( - guy: string, - wad: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('guy', guy); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), - wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind( - self, - guy.toLowerCase(), - wad - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(guy: string, wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('guy', guy); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind(self, guy.toLowerCase(), wad), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( guy: string, @@ -150,57 +138,48 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('guy', guy); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const txHashPromise = self.approve.sendTransactionAsync(guy.toLowerCase(), - wad - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('guy', guy); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const txHashPromise = self.approve.sendTransactionAsync(guy.toLowerCase(), wad, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - guy: string, - wad: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('guy', guy); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), - wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(guy: string, wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('guy', guy); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( guy: string, wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('guy', guy); assert.isBigNumber('wad', wad); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -211,10 +190,8 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), - wad - ]); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -223,36 +200,31 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - guy: string, - wad: BigNumber, - ): string { + getABIEncodedTransactionData(guy: string, wad: BigNumber): string { assert.isString('guy', guy); assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), - wad - ]); + const self = (this as any) as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ + guy.toLowerCase(), + wad, + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -261,7 +233,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; + const self = (this as any) as WETH9Contract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -271,20 +243,20 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as WETH9Contract; + getABIEncodedTransactionData(): string { + const self = (this as any) as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -294,36 +266,32 @@ export class WETH9Contract extends BaseContract { src: string, dst: string, wad: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('src', src); - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), - dst.toLowerCase(), - wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('src', src); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ src.toLowerCase(), dst.toLowerCase(), - wad - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + wad, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, src.toLowerCase(), dst.toLowerCase(), wad), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( src: string, @@ -333,25 +301,27 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('src', src); - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const txHashPromise = self.transferFrom.sendTransactionAsync(src.toLowerCase(), - dst.toLowerCase(), - wad - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('src', src); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + src.toLowerCase(), + dst.toLowerCase(), + wad, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( src: string, @@ -359,28 +329,29 @@ export class WETH9Contract extends BaseContract { wad: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('src', src); - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), - dst.toLowerCase(), - wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('src', src); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + src.toLowerCase(), + dst.toLowerCase(), + wad, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( src: string, @@ -388,8 +359,7 @@ export class WETH9Contract extends BaseContract { wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('src', src); assert.isString('dst', dst); assert.isBigNumber('wad', wad); @@ -401,11 +371,12 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), - dst.toLowerCase(), - wad - ]); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + src.toLowerCase(), + dst.toLowerCase(), + wad, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -414,60 +385,51 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - src: string, - dst: string, - wad: BigNumber, - ): string { + getABIEncodedTransactionData(src: string, dst: string, wad: BigNumber): string { assert.isString('src', src); assert.isString('dst', dst); assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), - dst.toLowerCase(), - wad - ]); + const self = (this as any) as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + src.toLowerCase(), + dst.toLowerCase(), + wad, + ]); return abiEncodedTransactionData; }, }; public withdraw = { - async sendTransactionAsync( - wad: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.withdraw.estimateGasAsync.bind( - self, - wad - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.withdraw.estimateGasAsync.bind(self, wad), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( wad: BigNumber, @@ -475,51 +437,41 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const txHashPromise = self.withdraw.sendTransactionAsync(wad - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const txHashPromise = self.withdraw.sendTransactionAsync(wad, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - wad: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - wad: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isBigNumber('wad', wad); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -529,9 +481,8 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad - ]); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -540,33 +491,27 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('withdraw(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - wad: BigNumber, - ): string { + getABIEncodedTransactionData(wad: BigNumber): string { assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('withdraw(uint256)', [wad - ]); + const self = (this as any) as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('withdraw(uint256)', [wad]); return abiEncodedTransactionData; }, }; public decimals = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -575,7 +520,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; + const self = (this as any) as WETH9Contract; const encodedData = self._strictEncodeArguments('decimals()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -585,20 +530,20 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decimals()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as WETH9Contract; + getABIEncodedTransactionData(): string { + const self = (this as any) as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); return abiEncodedTransactionData; }, @@ -608,8 +553,7 @@ export class WETH9Contract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -619,9 +563,8 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -630,33 +573,29 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [ + index_0.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -665,7 +604,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; + const self = (this as any) as WETH9Contract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -675,55 +614,45 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as WETH9Contract; + getABIEncodedTransactionData(): string { + const self = (this as any) as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, }; public transfer = { - async sendTransactionAsync( - dst: string, - wad: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), - wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind( - self, - dst.toLowerCase(), - wad - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(dst: string, wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind(self, dst.toLowerCase(), wad), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( dst: string, @@ -732,57 +661,48 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const txHashPromise = self.transfer.sendTransactionAsync(dst.toLowerCase(), - wad - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const txHashPromise = self.transfer.sendTransactionAsync(dst.toLowerCase(), wad, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - dst: string, - wad: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), - wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(dst: string, wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( dst: string, wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('dst', dst); assert.isBigNumber('wad', wad); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -793,10 +713,8 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), - wad - ]); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -805,98 +723,87 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - dst: string, - wad: BigNumber, - ): string { + getABIEncodedTransactionData(dst: string, wad: BigNumber): string { assert.isString('dst', dst); assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), - wad - ]); + const self = (this as any) as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ + dst.toLowerCase(), + wad, + ]); return abiEncodedTransactionData; }, }; public deposit = { - async sendTransactionAsync( - txData?: Partial | undefined, - ): Promise { - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('deposit()', []); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.deposit.estimateGasAsync.bind( - self, - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(txData?: Partial | undefined): Promise { + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('deposit()', []); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.deposit.estimateGasAsync.bind(self), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - const self = this as any as WETH9Contract; - const txHashPromise = self.deposit.sendTransactionAsync(txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const self = (this as any) as WETH9Contract; + const txHashPromise = self.deposit.sendTransactionAsync(txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - txData?: Partial | undefined, - ): Promise { - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('deposit()', []); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(txData?: Partial | undefined): Promise { + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('deposit()', []); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -905,7 +812,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; + const self = (this as any) as WETH9Contract; const encodedData = self._strictEncodeArguments('deposit()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -915,20 +822,20 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('deposit()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as WETH9Contract; + getABIEncodedTransactionData(): string { + const self = (this as any) as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('deposit()', []); return abiEncodedTransactionData; }, @@ -939,8 +846,7 @@ export class WETH9Contract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -951,10 +857,11 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [index_0.toLowerCase(), - index_1.toLowerCase() - ]); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -963,36 +870,35 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - index_1: string, - ): string { + getABIEncodedTransactionData(index_0: string, index_1: string): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = this as any as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [index_0.toLowerCase(), - index_1.toLowerCase() - ]); + const self = (this as any) as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1005,8 +911,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return WETH9Contract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return WETH9Contract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, @@ -1023,17 +934,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1041,21 +948,24 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`WETH9 successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new WETH9Contract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new WETH9Contract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'name', outputs: [ { @@ -1067,7 +977,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1090,10 +1000,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'totalSupply', outputs: [ { @@ -1105,7 +1014,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1132,7 +1041,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1141,16 +1050,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'withdraw', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'decimals', outputs: [ { @@ -1162,7 +1069,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1181,10 +1088,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'symbol', outputs: [ { @@ -1196,7 +1102,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1219,18 +1125,16 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, - inputs: [ - ], + inputs: [], name: 'deposit', - outputs: [ - ], + outputs: [], payable: true, stateMutability: 'payable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1253,16 +1157,14 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: true, stateMutability: 'payable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -1282,11 +1184,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Approval', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1306,11 +1207,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Transfer', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1325,11 +1225,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Deposit', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1344,8 +1243,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Withdrawal', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1419,7 +1317,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('WETH9', WETH9Contract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1427,7 +1330,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts index 90feb73946..ceaad03979 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -29,9 +32,7 @@ import * as ethers from 'ethers'; import * as _ from 'lodash'; // tslint:enable:no-unused-variable -export type ZRXTokenEventArgs = - | ZRXTokenTransferEventArgs - | ZRXTokenApprovalEventArgs; +export type ZRXTokenEventArgs = ZRXTokenTransferEventArgs | ZRXTokenApprovalEventArgs; export enum ZRXTokenEvents { Transfer = 'Transfer', @@ -50,17 +51,12 @@ export interface ZRXTokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ZRXTokenContract extends BaseContract { public name = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -69,7 +65,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; + const self = (this as any) as ZRXTokenContract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -79,20 +75,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ZRXTokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, @@ -101,33 +97,30 @@ export class ZRXTokenContract extends BaseContract { async sendTransactionAsync( _spender: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind( - self, + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ _spender.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _spender: string, @@ -136,57 +129,55 @@ export class ZRXTokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _spender: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _spender: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -197,10 +188,11 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -209,36 +201,31 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _spender: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_spender: string, _value: BigNumber): string { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); + const self = (this as any) as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -247,7 +234,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; + const self = (this as any) as ZRXTokenContract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -257,20 +244,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ZRXTokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -280,36 +267,32 @@ export class ZRXTokenContract extends BaseContract { _from: string, _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -319,25 +302,27 @@ export class ZRXTokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _value, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -345,28 +330,29 @@ export class ZRXTokenContract extends BaseContract { _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -374,8 +360,7 @@ export class ZRXTokenContract extends BaseContract { _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); @@ -387,11 +372,12 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -400,39 +386,33 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); + const self = (this as any) as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; public decimals = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -441,7 +421,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; + const self = (this as any) as ZRXTokenContract; const encodedData = self._strictEncodeArguments('decimals()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -451,20 +431,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decimals()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ZRXTokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); return abiEncodedTransactionData; }, @@ -474,8 +454,7 @@ export class ZRXTokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -485,9 +464,8 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -496,33 +474,27 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - ): string { + getABIEncodedTransactionData(_owner: string): string { assert.isString('_owner', _owner); - const self = this as any as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -531,7 +503,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; + const self = (this as any) as ZRXTokenContract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -541,20 +513,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ZRXTokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, @@ -563,33 +535,27 @@ export class ZRXTokenContract extends BaseContract { async sendTransactionAsync( _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind( - self, - _to.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -598,57 +564,48 @@ export class ZRXTokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - _to: string, - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -659,10 +616,8 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -671,27 +626,26 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _to: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_to: string, _value: BigNumber): string { assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); + const self = (this as any) as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ + _to.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; @@ -701,8 +655,7 @@ export class ZRXTokenContract extends BaseContract { _spender: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_spender', _spender); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -713,10 +666,11 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), - _spender.toLowerCase() - ]); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -725,36 +679,35 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - _spender: string, - ): string { + getABIEncodedTransactionData(_owner: string, _spender: string): string { assert.isString('_owner', _owner); assert.isString('_spender', _spender); - const self = this as any as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), - _spender.toLowerCase() - ]); + const self = (this as any) as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -767,8 +720,13 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return ZRXTokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, ); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return ZRXTokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, @@ -785,17 +743,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -803,21 +757,24 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ZRXToken successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ZRXTokenContract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new ZRXTokenContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'name', outputs: [ { @@ -828,7 +785,7 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: false, inputs: [ { @@ -850,10 +807,9 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'totalSupply', outputs: [ { @@ -864,7 +820,7 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: false, inputs: [ { @@ -890,10 +846,9 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'decimals', outputs: [ { @@ -904,7 +859,7 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: true, inputs: [ { @@ -922,10 +877,9 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'symbol', outputs: [ { @@ -936,7 +890,7 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: false, inputs: [ { @@ -958,7 +912,7 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: true, inputs: [ { @@ -980,15 +934,13 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: false, type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -1008,11 +960,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Transfer', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1032,8 +983,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Approval', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1107,7 +1057,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('ZRXToken', ZRXTokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1115,7 +1070,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts index cb741017c4..0f7348cb9f 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts @@ -29,6 +29,7 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type AbiGenDummyEventArgs = AbiGenDummyWithdrawalEventArgs | AbiGenDummyAnEventEventArgs; @@ -1022,6 +1023,7 @@ export class AbiGenDummyContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1034,13 +1036,20 @@ export class AbiGenDummyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return AbiGenDummyContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return AbiGenDummyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1064,7 +1073,12 @@ export class AbiGenDummyContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`AbiGenDummy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new AbiGenDummyContract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new AbiGenDummyContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } @@ -1538,8 +1552,13 @@ export class AbiGenDummyContract extends BaseContract { ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('AbiGenDummy', AbiGenDummyContract.ABI(), address, supportedProvider, txDefaults); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super('AbiGenDummy', AbiGenDummyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( AbiGenDummyContract.ABI(), diff --git a/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts index f613fbb853..7f41b6deae 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts @@ -21,6 +21,7 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable /* istanbul ignore next */ @@ -31,6 +32,7 @@ export class LibDummyContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -43,13 +45,20 @@ export class LibDummyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return LibDummyContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return LibDummyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -73,7 +82,12 @@ export class LibDummyContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`LibDummy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new LibDummyContract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new LibDummyContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } @@ -85,8 +99,13 @@ export class LibDummyContract extends BaseContract { const abi = [] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('LibDummy', LibDummyContract.ABI(), address, supportedProvider, txDefaults); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super('LibDummy', LibDummyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } } diff --git a/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts index 7c192214a1..364c78f740 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts @@ -21,6 +21,7 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; +import * as _ from 'lodash'; // tslint:enable:no-unused-variable /* istanbul ignore next */ @@ -111,6 +112,7 @@ export class TestLibDummyContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, + artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -123,13 +125,20 @@ export class TestLibDummyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - return TestLibDummyContract.deployAsync(bytecode, abi, provider, txDefaults); + const abiDependencies = _.mapValues( + artifactDependencies, + (artifactDependency: ContractArtifact | SimpleContractArtifact) => { + return artifactDependency.compilerOutput.abi; + }, + ); + return TestLibDummyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, + abiDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -153,7 +162,12 @@ export class TestLibDummyContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`TestLibDummy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new TestLibDummyContract(txReceipt.contractAddress as string, provider, txDefaults); + const contractInstance = new TestLibDummyContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + abiDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } @@ -204,8 +218,20 @@ export class TestLibDummyContract extends BaseContract { ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial) { - super('TestLibDummy', TestLibDummyContract.ABI(), address, supportedProvider, txDefaults); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'TestLibDummy', + TestLibDummyContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } } From 58e08335b5bdf25f569ce7527a419a051caebb91 Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Fri, 26 Jul 2019 20:33:30 +0200 Subject: [PATCH 047/162] Added another test to show what happens when decoding both local and downstream events --- .../utils/contracts/test/TestLogDecoding.sol | 8 ++++++++ contracts/utils/test/log_decoding.ts | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/contracts/utils/contracts/test/TestLogDecoding.sol b/contracts/utils/contracts/test/TestLogDecoding.sol index 145cebf143..e692d8b75f 100644 --- a/contracts/utils/contracts/test/TestLogDecoding.sol +++ b/contracts/utils/contracts/test/TestLogDecoding.sol @@ -44,4 +44,12 @@ contract TestLogDecoding { TestLogDecodingDownstream testLogDecodingDownstream = new TestLogDecodingDownstream(); ITestLogDecodingDownstream(testLogDecodingDownstream).emitEvent(); } + + /// @dev Emits a local event and a downstream event + function emitEventsLocalAndDownstream() + public + { + emitEvent(); + emitEventDownstream(); + } } \ No newline at end of file diff --git a/contracts/utils/test/log_decoding.ts b/contracts/utils/test/log_decoding.ts index 141731892a..16ae7a6244 100644 --- a/contracts/utils/test/log_decoding.ts +++ b/contracts/utils/test/log_decoding.ts @@ -55,9 +55,18 @@ describe('TestLogDecoding', () => { }); it('should not event args when no dependencies are passed into wrapper', async () => { const txReceipt = await testLogDecodingDeployedWithoutDependencies.emitEventDownstream.awaitTransactionSuccessAsync(); + expect(txReceipt.logs.length).to.be.equal(1); // tslint:disable no-unnecessary-type-assertion expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.undefined(); }); + it('should decode args for local but not downstream event when no dependencies are passed into wrapper', async () => { + const txReceipt = await testLogDecodingDeployedWithoutDependencies.emitEventsLocalAndDownstream.awaitTransactionSuccessAsync(); + expect(txReceipt.logs.length).to.be.equal(2); + // tslint:disable no-unnecessary-type-assertion + expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.deep.equal(expectedEvent); + // tslint:disable no-unnecessary-type-assertion + expect((txReceipt.logs[1] as LogWithDecodedArgs).args).to.be.undefined(); + }); it('should decode locally emitted event args when dependencies are passed into wrapper', async () => { const txReceipt = await testLogDecodingWithDependencies.emitEvent.awaitTransactionSuccessAsync(); expect(txReceipt.logs.length).to.be.equal(1); @@ -72,5 +81,15 @@ describe('TestLogDecoding', () => { expectedDownstreamEvent, ); }); + it('should decode args for both local and downstream events when dependencies are passed into wrapper', async () => { + const txReceipt = await testLogDecodingWithDependencies.emitEventsLocalAndDownstream.awaitTransactionSuccessAsync(); + expect(txReceipt.logs.length).to.be.equal(2); + // tslint:disable no-unnecessary-type-assertion + expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.deep.equal(expectedEvent); + // tslint:disable no-unnecessary-type-assertion + expect((txReceipt.logs[1] as LogWithDecodedArgs).args).to.be.deep.equal( + expectedDownstreamEvent, + ); + }); }); }); From 8961b476efc8448ac505d12250091c7de61fb985 Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Fri, 26 Jul 2019 20:51:40 +0200 Subject: [PATCH 048/162] fixed typo in a test --- contracts/utils/test/log_decoding.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/utils/test/log_decoding.ts b/contracts/utils/test/log_decoding.ts index 16ae7a6244..13d9d14971 100644 --- a/contracts/utils/test/log_decoding.ts +++ b/contracts/utils/test/log_decoding.ts @@ -53,7 +53,7 @@ describe('TestLogDecoding', () => { // tslint:disable no-unnecessary-type-assertion expect((txReceipt.logs[0] as LogWithDecodedArgs).args).to.be.deep.equal(expectedEvent); }); - it('should not event args when no dependencies are passed into wrapper', async () => { + it('should not decode event args when no dependencies are passed into wrapper', async () => { const txReceipt = await testLogDecodingDeployedWithoutDependencies.emitEventDownstream.awaitTransactionSuccessAsync(); expect(txReceipt.logs.length).to.be.equal(1); // tslint:disable no-unnecessary-type-assertion From c2f34baee079f95b28b9424510ffa5226e03ef31 Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Mon, 29 Jul 2019 12:02:13 +0200 Subject: [PATCH 049/162] Changed artifactDependencies/abiDependencies to logDecodeDependencies + removed lodash depency in contract wrappers --- .../abi-gen-templates/contract.handlebars | 11 ++++----- .../generated-wrappers/asset_proxy_owner.ts | 17 ++++++------- .../src/generated-wrappers/coordinator.ts | 24 +++++++++++-------- .../coordinator_registry.ts | 23 ++++++++++-------- .../generated-wrappers/dummy_erc20_token.ts | 17 ++++++------- .../generated-wrappers/dummy_erc721_token.ts | 17 ++++++------- .../src/generated-wrappers/dutch_auction.ts | 24 +++++++++++-------- .../src/generated-wrappers/erc20_proxy.ts | 17 ++++++------- .../src/generated-wrappers/erc20_token.ts | 17 ++++++------- .../src/generated-wrappers/erc721_proxy.ts | 17 ++++++------- .../src/generated-wrappers/erc721_token.ts | 17 ++++++------- .../generated-wrappers/eth_balance_checker.ts | 17 ++++++------- .../src/generated-wrappers/exchange.ts | 24 +++++++++++-------- .../src/generated-wrappers/forwarder.ts | 17 ++++++------- .../src/generated-wrappers/i_asset_proxy.ts | 17 ++++++------- .../src/generated-wrappers/i_validator.ts | 17 ++++++------- .../src/generated-wrappers/i_wallet.ts | 17 ++++++------- .../generated-wrappers/multi_asset_proxy.ts | 17 ++++++------- .../src/generated-wrappers/order_validator.ts | 17 ++++++------- .../src/generated-wrappers/weth9.ts | 17 ++++++------- .../src/generated-wrappers/zrx_token.ts | 17 ++++++------- packages/base-contract/src/index.ts | 13 +++++++--- 22 files changed, 182 insertions(+), 209 deletions(-) diff --git a/packages/abi-gen-templates/contract.handlebars b/packages/abi-gen-templates/contract.handlebars index 61375cb0a0..b9683d30f8 100644 --- a/packages/abi-gen-templates/contract.handlebars +++ b/packages/abi-gen-templates/contract.handlebars @@ -26,7 +26,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable {{#if events}} @@ -64,7 +63,7 @@ export class {{contractName}}Contract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, {{> typed_params inputs=ctor.inputs}} ): Promise<{{contractName}}Contract> { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -78,15 +77,15 @@ export class {{contractName}}Contract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues(artifactDependencies, (artifactDependency: ContractArtifact | SimpleContractArtifact) => {return artifactDependency.compilerOutput.abi}); - return {{contractName}}Contract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, {{> params inputs=ctor.inputs}}); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return {{contractName}}Contract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, {{> params inputs=ctor.inputs}}); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, {{> typed_params inputs=ctor.inputs}} ): Promise<{{contractName}}Contract> { assert.isHexString('bytecode', bytecode); @@ -115,7 +114,7 @@ export class {{contractName}}Contract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`{{contractName}} successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new {{contractName}}Contract(txReceipt.contractAddress as string, provider, txDefaults, abiDependencies); + const contractInstance = new {{contractName}}Contract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = [{{> params inputs=ctor.inputs}}]; return contractInstance; } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts index 75c19b4e4f..d4f38be5c3 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type AssetProxyOwnerEventArgs = @@ -2097,7 +2096,7 @@ export class AssetProxyOwnerContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, _owners: string[], _assetProxyContracts: string[], _required: BigNumber, @@ -2114,18 +2113,16 @@ export class AssetProxyOwnerContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); return AssetProxyOwnerContract.deployAsync( bytecode, abi, provider, txDefaults, - abiDependencies, + logDecodeDependenciesAbiOnly, _owners, _assetProxyContracts, _required, @@ -2137,7 +2134,7 @@ export class AssetProxyOwnerContract extends BaseContract { abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, _owners: string[], _assetProxyContracts: string[], _required: BigNumber, @@ -2173,7 +2170,7 @@ export class AssetProxyOwnerContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = [_owners, _assetProxyContracts, _required, _secondsTimeLocked]; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts index 56f9d09e2b..305e0b38aa 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts @@ -21,7 +21,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable /* istanbul ignore next */ @@ -616,7 +615,7 @@ export class CoordinatorContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, _exchange: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -630,20 +629,25 @@ export class CoordinatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return CoordinatorContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, + _exchange, ); - return CoordinatorContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _exchange); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, _exchange: string, ): Promise { assert.isHexString('bytecode', bytecode); @@ -676,7 +680,7 @@ export class CoordinatorContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = [_exchange]; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts index 9f11a590c3..50ea62a44f 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type CoordinatorRegistryEventArgs = CoordinatorRegistryCoordinatorEndpointSetEventArgs; @@ -206,7 +205,7 @@ export class CoordinatorRegistryContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -219,20 +218,24 @@ export class CoordinatorRegistryContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return CoordinatorRegistryContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, ); - return CoordinatorRegistryContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -260,7 +263,7 @@ export class CoordinatorRegistryContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts index 573127280a..7947130b0d 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type DummyERC20TokenEventArgs = DummyERC20TokenTransferEventArgs | DummyERC20TokenApprovalEventArgs; @@ -1116,7 +1115,7 @@ export class DummyERC20TokenContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, _name: string, _symbol: string, _decimals: BigNumber, @@ -1133,18 +1132,16 @@ export class DummyERC20TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); return DummyERC20TokenContract.deployAsync( bytecode, abi, provider, txDefaults, - abiDependencies, + logDecodeDependenciesAbiOnly, _name, _symbol, _decimals, @@ -1156,7 +1153,7 @@ export class DummyERC20TokenContract extends BaseContract { abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, _name: string, _symbol: string, _decimals: BigNumber, @@ -1192,7 +1189,7 @@ export class DummyERC20TokenContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = [_name, _symbol, _decimals, _totalSupply]; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts index 03ad59fe4e..c3ad0fed54 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type DummyERC721TokenEventArgs = @@ -1446,7 +1445,7 @@ export class DummyERC721TokenContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, _name: string, _symbol: string, ): Promise { @@ -1461,18 +1460,16 @@ export class DummyERC721TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); return DummyERC721TokenContract.deployAsync( bytecode, abi, provider, txDefaults, - abiDependencies, + logDecodeDependenciesAbiOnly, _name, _symbol, ); @@ -1482,7 +1479,7 @@ export class DummyERC721TokenContract extends BaseContract { abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, _name: string, _symbol: string, ): Promise { @@ -1516,7 +1513,7 @@ export class DummyERC721TokenContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = [_name, _symbol]; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts index 1eaa590042..e7aa2434df 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts @@ -21,7 +21,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable /* istanbul ignore next */ @@ -540,7 +539,7 @@ export class DutchAuctionContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, _exchange: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -554,20 +553,25 @@ export class DutchAuctionContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return DutchAuctionContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, + _exchange, ); - return DutchAuctionContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _exchange); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, _exchange: string, ): Promise { assert.isHexString('bytecode', bytecode); @@ -600,7 +604,7 @@ export class DutchAuctionContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = [_exchange]; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts index e3e1d9553a..bcfd2f5b1c 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type ERC20ProxyEventArgs = @@ -705,7 +704,7 @@ export class ERC20ProxyContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -718,20 +717,18 @@ export class ERC20ProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return ERC20ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return ERC20ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -759,7 +756,7 @@ export class ERC20ProxyContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts index 851bb18d4d..58b2815bc4 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type ERC20TokenEventArgs = ERC20TokenTransferEventArgs | ERC20TokenApprovalEventArgs; @@ -593,7 +592,7 @@ export class ERC20TokenContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -606,20 +605,18 @@ export class ERC20TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return ERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return ERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -647,7 +644,7 @@ export class ERC20TokenContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts index 4a5dd7c166..ee5085d4ab 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type ERC721ProxyEventArgs = @@ -705,7 +704,7 @@ export class ERC721ProxyContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -718,20 +717,18 @@ export class ERC721ProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return ERC721ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return ERC721ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -759,7 +756,7 @@ export class ERC721ProxyContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts index 081cfcad87..2a0420e010 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type ERC721TokenEventArgs = @@ -986,7 +985,7 @@ export class ERC721TokenContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -999,20 +998,18 @@ export class ERC721TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return ERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return ERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1040,7 +1037,7 @@ export class ERC721TokenContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts index fd6b09065b..e4a6c2ac39 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts @@ -21,7 +21,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable /* istanbul ignore next */ @@ -76,7 +75,7 @@ export class EthBalanceCheckerContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -89,20 +88,18 @@ export class EthBalanceCheckerContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return EthBalanceCheckerContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return EthBalanceCheckerContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -130,7 +127,7 @@ export class EthBalanceCheckerContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts index ca14974c8f..873bde5b79 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type ExchangeEventArgs = @@ -4569,7 +4568,7 @@ export class ExchangeContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, _zrxAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -4583,20 +4582,25 @@ export class ExchangeContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return ExchangeContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, + _zrxAssetData, ); - return ExchangeContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies, _zrxAssetData); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, _zrxAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); @@ -4629,7 +4633,7 @@ export class ExchangeContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = [_zrxAssetData]; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts index 516d23f1c6..4a4e7f68ef 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts @@ -21,7 +21,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable /* istanbul ignore next */ @@ -1042,7 +1041,7 @@ export class ForwarderContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, _exchange: string, _zrxAssetData: string, _wethAssetData: string, @@ -1058,18 +1057,16 @@ export class ForwarderContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); return ForwarderContract.deployAsync( bytecode, abi, provider, txDefaults, - abiDependencies, + logDecodeDependenciesAbiOnly, _exchange, _zrxAssetData, _wethAssetData, @@ -1080,7 +1077,7 @@ export class ForwarderContract extends BaseContract { abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, _exchange: string, _zrxAssetData: string, _wethAssetData: string, @@ -1115,7 +1112,7 @@ export class ForwarderContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = [_exchange, _zrxAssetData, _wethAssetData]; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts index c2bceb318a..13b92cc118 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts @@ -21,7 +21,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable /* istanbul ignore next */ @@ -710,7 +709,7 @@ export class IAssetProxyContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -723,20 +722,18 @@ export class IAssetProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return IAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return IAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -764,7 +761,7 @@ export class IAssetProxyContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts index 6c292e4867..fd016262d4 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts @@ -21,7 +21,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable /* istanbul ignore next */ @@ -90,7 +89,7 @@ export class IValidatorContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -103,20 +102,18 @@ export class IValidatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return IValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return IValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -144,7 +141,7 @@ export class IValidatorContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts index 6b143c8ee8..20a8250ba8 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts @@ -21,7 +21,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable /* istanbul ignore next */ @@ -82,7 +81,7 @@ export class IWalletContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -95,20 +94,18 @@ export class IWalletContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return IWalletContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return IWalletContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -136,7 +133,7 @@ export class IWalletContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts index 1449af3601..92628c0c03 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type MultiAssetProxyEventArgs = @@ -902,7 +901,7 @@ export class MultiAssetProxyContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -915,20 +914,18 @@ export class MultiAssetProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return MultiAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return MultiAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -956,7 +953,7 @@ export class MultiAssetProxyContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts index a95b204c20..2183ee494f 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts @@ -21,7 +21,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable /* istanbul ignore next */ @@ -619,7 +618,7 @@ export class OrderValidatorContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, _exchange: string, _zrxAssetData: string, ): Promise { @@ -634,18 +633,16 @@ export class OrderValidatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); return OrderValidatorContract.deployAsync( bytecode, abi, provider, txDefaults, - abiDependencies, + logDecodeDependenciesAbiOnly, _exchange, _zrxAssetData, ); @@ -655,7 +652,7 @@ export class OrderValidatorContract extends BaseContract { abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, _exchange: string, _zrxAssetData: string, ): Promise { @@ -689,7 +686,7 @@ export class OrderValidatorContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = [_exchange, _zrxAssetData]; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts index c7db77be2c..fdf60d3ea7 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type WETH9EventArgs = @@ -898,7 +897,7 @@ export class WETH9Contract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -911,20 +910,18 @@ export class WETH9Contract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return WETH9Contract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return WETH9Contract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -952,7 +949,7 @@ export class WETH9Contract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts index ceaad03979..d980c02253 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type ZRXTokenEventArgs = ZRXTokenTransferEventArgs | ZRXTokenApprovalEventArgs; @@ -707,7 +706,7 @@ export class ZRXTokenContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -720,20 +719,18 @@ export class ZRXTokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return ZRXTokenContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return ZRXTokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -761,7 +758,7 @@ export class ZRXTokenContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/base-contract/src/index.ts b/packages/base-contract/src/index.ts index 09287a00c1..dddf5a2dcd 100644 --- a/packages/base-contract/src/index.ts +++ b/packages/base-contract/src/index.ts @@ -180,13 +180,20 @@ export class BaseContract { const abiEncodedArguments = abiEncoder.encode(functionArguments); return abiEncodedArguments; } + /// @dev Constructs a contract wrapper. + /// @param contractName Name of contract. + /// @param abi of the contract. + /// @param address of the deployed contract. + /// @param supportedProvider for communicating with an ethereum node. + /// @param logDecodeDependencies the name and ABI of contracts whose event logs are + /// decoded by this wrapper. constructor( contractName: string, abi: ContractAbi, address: string, supportedProvider: SupportedProvider, callAndTxnDefaults?: Partial, - abiDependencies?: { [contractName: string]: ContractAbi }, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, ) { assert.isString('contractName', contractName); assert.isETHAddressHex('address', address); @@ -212,8 +219,8 @@ export class BaseContract { this._abiEncoderByFunctionSignature[functionSignature] = abiEncoder; this._web3Wrapper.abiDecoder.addABI(abi, contractName); }); - _.each(abiDependencies, (abiDependency, contractDependencyName) => { - this._web3Wrapper.abiDecoder.addABI(abiDependency, contractDependencyName); + _.each(logDecodeDependencies, (dependencyAbi, dependencyName) => { + this._web3Wrapper.abiDecoder.addABI(dependencyAbi, dependencyName); }); } } From 048e48b03aa8e31244942e732fcfcb0644f27f60 Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Mon, 29 Jul 2019 12:24:19 +0200 Subject: [PATCH 050/162] updated contract wrappers --- .../generated-wrappers/asset_proxy_owner.ts | 2353 ++++---- .../src/generated-wrappers/coordinator.ts | 628 +- .../coordinator_registry.ts | 256 +- .../generated-wrappers/dummy_erc20_token.ts | 1299 +++-- .../generated-wrappers/dummy_erc721_token.ts | 1646 +++--- .../src/generated-wrappers/dutch_auction.ts | 691 +-- .../src/generated-wrappers/erc20_proxy.ts | 820 +-- .../src/generated-wrappers/erc20_token.ts | 642 +- .../src/generated-wrappers/erc721_proxy.ts | 820 +-- .../src/generated-wrappers/erc721_token.ts | 1066 ++-- .../generated-wrappers/eth_balance_checker.ts | 76 +- .../src/generated-wrappers/exchange.ts | 5188 +++++++---------- .../src/generated-wrappers/forwarder.ts | 1305 ++--- .../src/generated-wrappers/i_asset_proxy.ts | 904 +-- .../src/generated-wrappers/i_validator.ts | 81 +- .../src/generated-wrappers/i_wallet.ts | 73 +- .../generated-wrappers/multi_asset_proxy.ts | 1041 ++-- .../src/generated-wrappers/order_validator.ts | 586 +- .../src/generated-wrappers/weth9.ts | 1027 ++-- .../src/generated-wrappers/zrx_token.ts | 731 +-- 20 files changed, 10166 insertions(+), 11067 deletions(-) diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts index d4f38be5c3..db528702d2 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -113,6 +110,7 @@ export interface AssetProxyOwnerRequirementChangeEventArgs extends DecodedLogArg required: BigNumber; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -122,7 +120,8 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -132,8 +131,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('owners(uint256)', [index_0]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('owners(uint256)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -142,45 +142,54 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber): string { + getABIEncodedTransactionData( + index_0: BigNumber, + ): string { assert.isBigNumber('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('owners(uint256)', [index_0]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('owners(uint256)', [index_0 + ]); return abiEncodedTransactionData; }, }; public removeOwner = { - async sendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeOwner.estimateGasAsync.bind(self, owner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + owner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('owner', owner); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeOwner.estimateGasAsync.bind( + self, + owner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( owner: string, @@ -188,41 +197,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.removeOwner.sendTransactionAsync(owner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('owner', owner); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.removeOwner.sendTransactionAsync(owner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(owner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + owner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('owner', owner); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(owner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + owner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('owner', owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -232,8 +251,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -242,47 +262,54 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(owner: string): string { + getABIEncodedTransactionData( + owner: string, + ): string { assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeOwner(address)', [ - owner.toLowerCase(), - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public revokeConfirmation = { - async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.revokeConfirmation.estimateGasAsync.bind(self, transactionId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.revokeConfirmation.estimateGasAsync.bind( + self, + transactionId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -290,45 +317,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.revokeConfirmation.sendTransactionAsync(transactionId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.revokeConfirmation.sendTransactionAsync(transactionId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -338,8 +371,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -348,24 +382,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('revokeConfirmation(uint256)', [ - transactionId, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; @@ -374,7 +408,8 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -384,8 +419,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -394,22 +430,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -419,7 +457,8 @@ export class AssetProxyOwnerContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -430,11 +469,10 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmations(uint256,address)', [ - index_0, - index_1.toLowerCase(), - ]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmations(uint256,address)', [index_0, + index_1.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -443,51 +481,57 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber, index_1: string): string { + getABIEncodedTransactionData( + index_0: BigNumber, + index_1: string, + ): string { assert.isBigNumber('index_0', index_0); assert.isString('index_1', index_1); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmations(uint256,address)', [ - index_0, - index_1.toLowerCase(), - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmations(uint256,address)', [index_0, + index_1.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public executeRemoveAuthorizedAddressAtIndex = { - async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [ - transactionId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeRemoveAuthorizedAddressAtIndex.estimateGasAsync.bind(self, transactionId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeRemoveAuthorizedAddressAtIndex.estimateGasAsync.bind( + self, + transactionId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -495,50 +539,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.executeRemoveAuthorizedAddressAtIndex.sendTransactionAsync( - transactionId, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.executeRemoveAuthorizedAddressAtIndex.sendTransactionAsync(transactionId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [ - transactionId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -548,10 +593,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [ - transactionId, - ]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -560,30 +604,33 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('executeRemoveAuthorizedAddressAtIndex(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'executeRemoveAuthorizedAddressAtIndex(uint256)', - [transactionId], - ); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; public secondsTimeLocked = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -592,7 +639,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; + const self = this as any as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('secondsTimeLocked()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -602,20 +649,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as AssetProxyOwnerContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('secondsTimeLocked()', []); return abiEncodedTransactionData; }, @@ -626,7 +673,8 @@ export class AssetProxyOwnerContract extends BaseContract { executed: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBoolean('pending', pending); assert.isBoolean('executed', executed); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -637,8 +685,10 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, executed]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, + executed + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -647,26 +697,27 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(pending: boolean, executed: boolean): string { + getABIEncodedTransactionData( + pending: boolean, + executed: boolean, + ): string { assert.isBoolean('pending', pending); assert.isBoolean('executed', executed); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [ - pending, - executed, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, + executed + ]); return abiEncodedTransactionData; }, }; @@ -674,30 +725,33 @@ export class AssetProxyOwnerContract extends BaseContract { async sendTransactionAsync( assetProxyContract: string, isRegistered: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('assetProxyContract', assetProxyContract); - assert.isBoolean('isRegistered', isRegistered); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ + assert.isString('assetProxyContract', assetProxyContract); + assert.isBoolean('isRegistered', isRegistered); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), + isRegistered + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.registerAssetProxy.estimateGasAsync.bind( + self, assetProxyContract.toLowerCase(), - isRegistered, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.registerAssetProxy.estimateGasAsync.bind(self, assetProxyContract.toLowerCase(), isRegistered), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + isRegistered + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetProxyContract: string, @@ -706,59 +760,57 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxyContract', assetProxyContract); - assert.isBoolean('isRegistered', isRegistered); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync( - assetProxyContract.toLowerCase(), - isRegistered, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetProxyContract', assetProxyContract); + assert.isBoolean('isRegistered', isRegistered); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxyContract.toLowerCase(), + isRegistered + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( assetProxyContract: string, isRegistered: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('assetProxyContract', assetProxyContract); - assert.isBoolean('isRegistered', isRegistered); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ - assetProxyContract.toLowerCase(), - isRegistered, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('assetProxyContract', assetProxyContract); + assert.isBoolean('isRegistered', isRegistered); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), + isRegistered + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetProxyContract: string, isRegistered: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxyContract', assetProxyContract); assert.isBoolean('isRegistered', isRegistered); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -769,11 +821,10 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ - assetProxyContract.toLowerCase(), - isRegistered, - ]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), + isRegistered + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -782,49 +833,57 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetProxyContract: string, isRegistered: boolean): string { + getABIEncodedTransactionData( + assetProxyContract: string, + isRegistered: boolean, + ): string { assert.isString('assetProxyContract', assetProxyContract); assert.isBoolean('isRegistered', isRegistered); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ - assetProxyContract.toLowerCase(), - isRegistered, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), + isRegistered + ]); return abiEncodedTransactionData; }, }; public addOwner = { - async sendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addOwner.estimateGasAsync.bind(self, owner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + owner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('owner', owner); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addOwner.estimateGasAsync.bind( + self, + owner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( owner: string, @@ -832,41 +891,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.addOwner.sendTransactionAsync(owner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('owner', owner); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.addOwner.sendTransactionAsync(owner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(owner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + owner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('owner', owner); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(owner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + owner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('owner', owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -876,8 +945,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -886,22 +956,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(owner: string): string { + getABIEncodedTransactionData( + owner: string, + ): string { assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -910,7 +982,8 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -920,8 +993,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -930,48 +1004,54 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; public changeTimeLock = { async sendTransactionAsync( _secondsTimeLocked: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.changeTimeLock.estimateGasAsync.bind(self, _secondsTimeLocked), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.changeTimeLock.estimateGasAsync.bind( + self, + _secondsTimeLocked + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _secondsTimeLocked: BigNumber, @@ -979,45 +1059,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.changeTimeLock.sendTransactionAsync(_secondsTimeLocked, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.changeTimeLock.sendTransactionAsync(_secondsTimeLocked + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(_secondsTimeLocked: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + _secondsTimeLocked: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _secondsTimeLocked: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1027,8 +1113,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1037,24 +1124,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_secondsTimeLocked: BigNumber): string { + getABIEncodedTransactionData( + _secondsTimeLocked: BigNumber, + ): string { assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('changeTimeLock(uint256)', [ - _secondsTimeLocked, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked + ]); return abiEncodedTransactionData; }, }; @@ -1063,7 +1150,8 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1073,8 +1161,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase()]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1083,24 +1172,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isAssetProxyRegistered(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [ - index_0.toLowerCase(), - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -1109,7 +1198,8 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1119,8 +1209,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1129,24 +1220,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmationCount(uint256)', [ - transactionId, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; @@ -1155,7 +1246,8 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, BigNumber, string, boolean]> { + ): Promise<[string, BigNumber, string, boolean] + > { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1165,8 +1257,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('transactions(uint256)', [index_0]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('transactions(uint256)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1175,27 +1268,33 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean] + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber): string { + getABIEncodedTransactionData( + index_0: BigNumber, + ): string { assert.isBigNumber('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactions(uint256)', [index_0]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transactions(uint256)', [index_0 + ]); return abiEncodedTransactionData; }, }; public getOwners = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1204,7 +1303,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; + const self = this as any as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('getOwners()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1214,20 +1313,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getOwners()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as AssetProxyOwnerContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('getOwners()', []); return abiEncodedTransactionData; }, @@ -1240,7 +1339,8 @@ export class AssetProxyOwnerContract extends BaseContract { executed: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('from', from); assert.isBigNumber('to', to); assert.isBoolean('pending', pending); @@ -1253,13 +1353,12 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [ - from, - to, - pending, - executed, - ]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [from, + to, + pending, + executed + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1268,28 +1367,33 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(from: BigNumber, to: BigNumber, pending: boolean, executed: boolean): string { + getABIEncodedTransactionData( + from: BigNumber, + to: BigNumber, + pending: boolean, + executed: boolean, + ): string { assert.isBigNumber('from', from); assert.isBigNumber('to', to); assert.isBoolean('pending', pending); assert.isBoolean('executed', executed); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getTransactionIds(uint256,uint256,bool,bool)', - [from, to, pending, executed], - ); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [from, + to, + pending, + executed + ]); return abiEncodedTransactionData; }, }; @@ -1298,7 +1402,8 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1308,8 +1413,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1318,27 +1424,33 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; public transactionCount = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1347,7 +1459,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; + const self = this as any as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('transactionCount()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1357,44 +1469,51 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transactionCount()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as AssetProxyOwnerContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('transactionCount()', []); return abiEncodedTransactionData; }, }; public changeRequirement = { - async sendTransactionAsync(_required: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_required', _required); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.changeRequirement.estimateGasAsync.bind(self, _required), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + _required: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('_required', _required); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.changeRequirement.estimateGasAsync.bind( + self, + _required + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _required: BigNumber, @@ -1402,45 +1521,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_required', _required); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.changeRequirement.sendTransactionAsync(_required, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('_required', _required); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.changeRequirement.sendTransactionAsync(_required + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(_required: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_required', _required); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + _required: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('_required', _required); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _required: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_required', _required); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1450,8 +1575,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1460,45 +1586,54 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_required: BigNumber): string { + getABIEncodedTransactionData( + _required: BigNumber, + ): string { assert.isBigNumber('_required', _required); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('changeRequirement(uint256)', [_required + ]); return abiEncodedTransactionData; }, }; public confirmTransaction = { - async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.confirmTransaction.estimateGasAsync.bind(self, transactionId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.confirmTransaction.estimateGasAsync.bind( + self, + transactionId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -1506,45 +1641,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.confirmTransaction.sendTransactionAsync(transactionId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.confirmTransaction.sendTransactionAsync(transactionId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1554,8 +1695,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1564,24 +1706,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmTransaction(uint256)', [ - transactionId, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; @@ -1590,32 +1732,36 @@ export class AssetProxyOwnerContract extends BaseContract { destination: string, value: BigNumber, data: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), + value, + data + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.submitTransaction.estimateGasAsync.bind( + self, destination.toLowerCase(), value, - data, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.submitTransaction.estimateGasAsync.bind(self, destination.toLowerCase(), value, data), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + data + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( destination: string, @@ -1625,27 +1771,25 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.submitTransaction.sendTransactionAsync( - destination.toLowerCase(), - value, - data, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.submitTransaction.sendTransactionAsync(destination.toLowerCase(), + value, + data + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( destination: string, @@ -1653,29 +1797,28 @@ export class AssetProxyOwnerContract extends BaseContract { data: string, txData?: Partial | undefined, ): Promise { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ - destination.toLowerCase(), - value, - data, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), + value, + data + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( destination: string, @@ -1683,7 +1826,8 @@ export class AssetProxyOwnerContract extends BaseContract { data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('destination', destination); assert.isBigNumber('value', value); assert.isString('data', data); @@ -1695,12 +1839,11 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ - destination.toLowerCase(), - value, - data, - ]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), + value, + data + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1709,28 +1852,30 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(destination: string, value: BigNumber, data: string): string { + getABIEncodedTransactionData( + destination: string, + value: BigNumber, + data: string, + ): string { assert.isString('destination', destination); assert.isBigNumber('value', value); assert.isString('data', data); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ - destination.toLowerCase(), - value, - data, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), + value, + data + ]); return abiEncodedTransactionData; }, }; @@ -1739,7 +1884,8 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1749,8 +1895,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1759,27 +1906,33 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber): string { + getABIEncodedTransactionData( + index_0: BigNumber, + ): string { assert.isBigNumber('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0 + ]); return abiEncodedTransactionData; }, }; public MAX_OWNER_COUNT = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1788,7 +1941,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; + const self = this as any as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1798,26 +1951,30 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as AssetProxyOwnerContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); return abiEncodedTransactionData; }, }; public required = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1826,7 +1983,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; + const self = this as any as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('required()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1836,20 +1993,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('required()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as AssetProxyOwnerContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('required()', []); return abiEncodedTransactionData; }, @@ -1858,30 +2015,33 @@ export class AssetProxyOwnerContract extends BaseContract { async sendTransactionAsync( owner: string, newOwner: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), + newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.replaceOwner.estimateGasAsync.bind( + self, owner.toLowerCase(), - newOwner.toLowerCase(), - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.replaceOwner.estimateGasAsync.bind(self, owner.toLowerCase(), newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( owner: string, @@ -1890,55 +2050,57 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.replaceOwner.sendTransactionAsync( - owner.toLowerCase(), - newOwner.toLowerCase(), - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.replaceOwner.sendTransactionAsync(owner.toLowerCase(), + newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(owner: string, newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ - owner.toLowerCase(), - newOwner.toLowerCase(), - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + owner: string, + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), + newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( owner: string, newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('owner', owner); assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1949,11 +2111,10 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ - owner.toLowerCase(), - newOwner.toLowerCase(), - ]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), + newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1962,49 +2123,57 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(owner: string, newOwner: string): string { + getABIEncodedTransactionData( + owner: string, + newOwner: string, + ): string { assert.isString('owner', owner); assert.isString('newOwner', newOwner); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [ - owner.toLowerCase(), - newOwner.toLowerCase(), - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), + newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public executeTransaction = { - async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeTransaction.estimateGasAsync.bind(self, transactionId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeTransaction.estimateGasAsync.bind( + self, + transactionId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -2012,45 +2181,51 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync(transactionId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const txHashPromise = self.executeTransaction.sendTransactionAsync(transactionId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -2060,8 +2235,9 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); + const self = this as any as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2070,37 +2246,37 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transactionId: BigNumber): string { + getABIEncodedTransactionData( + transactionId: BigNumber, + ): string { assert.isBigNumber('transactionId', transactionId); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256)', [ - transactionId, - ]); + const self = this as any as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, - _owners: string[], - _assetProxyContracts: string[], - _required: BigNumber, - _secondsTimeLocked: BigNumber, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _owners: string[], + _assetProxyContracts: string[], + _required: BigNumber, + _secondsTimeLocked: BigNumber, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -2113,21 +2289,12 @@ export class AssetProxyOwnerContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return AssetProxyOwnerContract.deployAsync( - bytecode, - abi, - provider, - txDefaults, - logDecodeDependenciesAbiOnly, - _owners, - _assetProxyContracts, - _required, - _secondsTimeLocked, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return AssetProxyOwnerContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _owners, +_assetProxyContracts, +_required, +_secondsTimeLocked +); } public static async deployAsync( bytecode: string, @@ -2135,10 +2302,10 @@ export class AssetProxyOwnerContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _owners: string[], - _assetProxyContracts: string[], - _required: BigNumber, - _secondsTimeLocked: BigNumber, + _owners: string[], + _assetProxyContracts: string[], + _required: BigNumber, + _secondsTimeLocked: BigNumber, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -2148,17 +2315,29 @@ export class AssetProxyOwnerContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_owners, _assetProxyContracts, _required, _secondsTimeLocked] = BaseContract._formatABIDataItemList( + [_owners, +_assetProxyContracts, +_required, +_secondsTimeLocked +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_owners, _assetProxyContracts, _required, _secondsTimeLocked], + [_owners, +_assetProxyContracts, +_required, +_secondsTimeLocked +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_owners, _assetProxyContracts, _required, _secondsTimeLocked]); + const txData = deployInfo.encode(bytecode, [_owners, +_assetProxyContracts, +_required, +_secondsTimeLocked +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -2166,22 +2345,22 @@ export class AssetProxyOwnerContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`AssetProxyOwner successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new AssetProxyOwnerContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); - contractInstance.constructorArgs = [_owners, _assetProxyContracts, _required, _secondsTimeLocked]; + const contractInstance = new AssetProxyOwnerContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + contractInstance.constructorArgs = [_owners, +_assetProxyContracts, +_required, +_secondsTimeLocked +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -2200,7 +2379,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2209,12 +2388,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'removeOwner', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2223,12 +2403,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'revokeConfirmation', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2247,7 +2428,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2270,7 +2451,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2279,14 +2460,16 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'executeRemoveAuthorizedAddressAtIndex', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'secondsTimeLocked', outputs: [ { @@ -2298,7 +2481,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2321,7 +2504,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2334,12 +2517,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'registerAssetProxy', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2348,12 +2532,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'addOwner', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2372,7 +2557,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2381,12 +2566,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'changeTimeLock', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2405,7 +2591,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2424,7 +2610,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2455,9 +2641,10 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getOwners', outputs: [ { @@ -2469,7 +2656,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2500,7 +2687,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2519,9 +2706,10 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'transactionCount', outputs: [ { @@ -2533,7 +2721,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2542,12 +2730,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'changeRequirement', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2556,12 +2745,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'confirmTransaction', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2588,7 +2778,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2607,9 +2797,10 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'MAX_OWNER_COUNT', outputs: [ { @@ -2621,9 +2812,10 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'required', outputs: [ { @@ -2635,7 +2827,7 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2648,12 +2840,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'replaceOwner', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2662,12 +2855,13 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'executeTransaction', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_owners', @@ -2686,19 +2880,22 @@ export class AssetProxyOwnerContract extends BaseContract { type: 'uint256', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: true, stateMutability: 'payable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -2713,10 +2910,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'AssetProxyRegistration', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2731,10 +2929,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'ConfirmationTimeSet', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2744,10 +2943,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'TimeLockChange', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2762,10 +2962,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'Confirmation', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2780,10 +2981,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'Revocation', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2793,10 +2995,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'Submission', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2806,10 +3009,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'Execution', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2819,10 +3023,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'ExecutionFailure', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2837,10 +3042,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'Deposit', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2850,10 +3056,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'OwnerAddition', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2863,10 +3070,11 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'OwnerRemoval', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2876,7 +3084,8 @@ export class AssetProxyOwnerContract extends BaseContract { }, ], name: 'RequirementChange', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -2950,27 +3159,15 @@ export class AssetProxyOwnerContract extends BaseContract { ); return logs; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { - super( - 'AssetProxyOwner', - AssetProxyOwnerContract.ABI(), - address, - supportedProvider, - txDefaults, - logDecodeDependencies, - ); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('AssetProxyOwner', AssetProxyOwnerContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( AssetProxyOwnerContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts index 305e0b38aa..9c6104b686 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,6 +23,7 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -33,7 +34,8 @@ export class CoordinatorContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -44,8 +46,10 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [hash, signature]); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [hash, + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -54,35 +58,38 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getSignerAddress(bytes32,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(hash: string, signature: string): string { + getABIEncodedTransactionData( + hash: string, + signature: string, + ): string { assert.isString('hash', hash); assert.isString('signature', signature); - const self = (this as any) as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [ - hash, - signature, - ]); + const self = this as any as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [hash, + signature + ]); return abiEncodedTransactionData; }, }; public getTransactionHash = { async callAsync( - transaction: { salt: BigNumber; signerAddress: string; data: string }, + transaction: {salt: BigNumber;signerAddress: string;data: string}, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -91,10 +98,9 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments('getTransactionHash((uint256,address,bytes))', [ - transaction, - ]); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('getTransactionHash((uint256,address,bytes))', [transaction + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -103,38 +109,35 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getTransactionHash((uint256,address,bytes))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(transaction: { salt: BigNumber; signerAddress: string; data: string }): string { - const self = (this as any) as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getTransactionHash((uint256,address,bytes))', - [transaction], - ); + getABIEncodedTransactionData( + transaction: {salt: BigNumber;signerAddress: string;data: string}, + ): string { + + const self = this as any as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionHash((uint256,address,bytes))', [transaction + ]); return abiEncodedTransactionData; }, }; public getCoordinatorApprovalHash = { async callAsync( - approval: { - txOrigin: string; - transactionHash: string; - transactionSignature: string; - approvalExpirationTimeSeconds: BigNumber; - }, + approval: {txOrigin: string;transactionHash: string;transactionSignature: string;approvalExpirationTimeSeconds: BigNumber}, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -143,11 +146,9 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments( - 'getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', - [approval], - ); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', [approval + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -156,81 +157,73 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(approval: { - txOrigin: string; - transactionHash: string; - transactionSignature: string; - approvalExpirationTimeSeconds: BigNumber; - }): string { - const self = (this as any) as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', - [approval], - ); + getABIEncodedTransactionData( + approval: {txOrigin: string;transactionHash: string;transactionSignature: string;approvalExpirationTimeSeconds: BigNumber}, + ): string { + + const self = this as any as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', [approval + ]); return abiEncodedTransactionData; }, }; public executeTransaction = { async sendTransactionAsync( - transaction: { salt: BigNumber; signerAddress: string; data: string }, + transaction: {salt: BigNumber;signerAddress: string;data: string}, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('txOrigin', txOrigin); - assert.isString('transactionSignature', transactionSignature); - assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); - assert.isArray('approvalSignatures', approvalSignatures); - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments( - 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', - [ - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeTransaction.estimateGasAsync.bind( - self, - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + assert.isString('txOrigin', txOrigin); + assert.isString('transactionSignature', transactionSignature); + assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); + assert.isArray('approvalSignatures', approvalSignatures); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeTransaction.estimateGasAsync.bind( + self, + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - transaction: { salt: BigNumber; signerAddress: string; data: string }, + transaction: {salt: BigNumber;signerAddress: string;data: string}, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], @@ -239,78 +232,76 @@ export class CoordinatorContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('txOrigin', txOrigin); - assert.isString('transactionSignature', transactionSignature); - assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); - assert.isArray('approvalSignatures', approvalSignatures); - const self = (this as any) as CoordinatorContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync( - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + assert.isString('txOrigin', txOrigin); + assert.isString('transactionSignature', transactionSignature); + assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); + assert.isArray('approvalSignatures', approvalSignatures); + const self = this as any as CoordinatorContract; + const txHashPromise = self.executeTransaction.sendTransactionAsync(transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - transaction: { salt: BigNumber; signerAddress: string; data: string }, + transaction: {salt: BigNumber;signerAddress: string;data: string}, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], txData?: Partial | undefined, ): Promise { - assert.isString('txOrigin', txOrigin); - assert.isString('transactionSignature', transactionSignature); - assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); - assert.isArray('approvalSignatures', approvalSignatures); - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments( - 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', - [ - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + assert.isString('txOrigin', txOrigin); + assert.isString('transactionSignature', transactionSignature); + assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); + assert.isArray('approvalSignatures', approvalSignatures); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - transaction: { salt: BigNumber; signerAddress: string; data: string }, + transaction: {salt: BigNumber;signerAddress: string;data: string}, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { + assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); @@ -323,17 +314,13 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments( - 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', - [ - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ], - ); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -342,47 +329,45 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - transaction: { salt: BigNumber; signerAddress: string; data: string }, - txOrigin: string, - transactionSignature: string, - approvalExpirationTimeSeconds: BigNumber[], - approvalSignatures: string[], - ): string { + transaction: {salt: BigNumber;signerAddress: string;data: string}, + txOrigin: string, + transactionSignature: string, + approvalExpirationTimeSeconds: BigNumber[], + approvalSignatures: string[], + ): string { + assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); assert.isArray('approvalSignatures', approvalSignatures); - const self = (this as any) as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', - [ - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ], - ); + const self = this as any as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ]); return abiEncodedTransactionData; }, }; public EIP712_EXCHANGE_DOMAIN_HASH = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -391,7 +376,7 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; + const self = this as any as CoordinatorContract; const encodedData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -401,34 +386,36 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as CoordinatorContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as CoordinatorContract; const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, }; public assertValidCoordinatorApprovals = { async callAsync( - transaction: { salt: BigNumber; signerAddress: string; data: string }, + transaction: {salt: BigNumber;signerAddress: string;data: string}, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { + assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); @@ -441,17 +428,13 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments( - 'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', - [ - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ], - ); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -460,42 +443,36 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - transaction: { salt: BigNumber; signerAddress: string; data: string }, - txOrigin: string, - transactionSignature: string, - approvalExpirationTimeSeconds: BigNumber[], - approvalSignatures: string[], - ): string { + transaction: {salt: BigNumber;signerAddress: string;data: string}, + txOrigin: string, + transactionSignature: string, + approvalExpirationTimeSeconds: BigNumber[], + approvalSignatures: string[], + ): string { + assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); assert.isArray('approvalSignatures', approvalSignatures); - const self = (this as any) as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', - [ - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures, - ], - ); + const self = this as any as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures + ]); return abiEncodedTransactionData; }, }; @@ -504,21 +481,7 @@ export class CoordinatorContract extends BaseContract { data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }> + ): Promise > { assert.isString('data', data); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -529,8 +492,9 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; - const encodedData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data]); + const self = this as any as CoordinatorContract; + const encodedData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -539,42 +503,33 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decodeOrdersFromFillData(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }> - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(data: string): string { + getABIEncodedTransactionData( + data: string, + ): string { assert.isString('data', data); - const self = (this as any) as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data]); + const self = this as any as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data + ]); return abiEncodedTransactionData; }, }; public EIP712_COORDINATOR_DOMAIN_HASH = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -583,7 +538,7 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorContract; + const self = this as any as CoordinatorContract; const encodedData = self._strictEncodeArguments('EIP712_COORDINATOR_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -593,30 +548,30 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('EIP712_COORDINATOR_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as CoordinatorContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as CoordinatorContract; const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_COORDINATOR_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, - _exchange: string, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _exchange: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -629,18 +584,9 @@ export class CoordinatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return CoordinatorContract.deployAsync( - bytecode, - abi, - provider, - txDefaults, - logDecodeDependenciesAbiOnly, - _exchange, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return CoordinatorContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _exchange +); } public static async deployAsync( bytecode: string, @@ -648,7 +594,7 @@ export class CoordinatorContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _exchange: string, + _exchange: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -658,17 +604,20 @@ export class CoordinatorContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange] = BaseContract._formatABIDataItemList( + [_exchange +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange], + [_exchange +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange]); + const txData = deployInfo.encode(bytecode, [_exchange +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -676,22 +625,19 @@ export class CoordinatorContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`Coordinator successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new CoordinatorContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); - contractInstance.constructorArgs = [_exchange]; + const contractInstance = new CoordinatorContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + contractInstance.constructorArgs = [_exchange +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -714,7 +660,7 @@ export class CoordinatorContract extends BaseContract { stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -733,7 +679,7 @@ export class CoordinatorContract extends BaseContract { name: 'data', type: 'bytes', }, - ], + ] }, ], name: 'getTransactionHash', @@ -747,7 +693,7 @@ export class CoordinatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -770,7 +716,7 @@ export class CoordinatorContract extends BaseContract { name: 'approvalExpirationTimeSeconds', type: 'uint256', }, - ], + ] }, ], name: 'getCoordinatorApprovalHash', @@ -784,7 +730,7 @@ export class CoordinatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -803,7 +749,7 @@ export class CoordinatorContract extends BaseContract { name: 'data', type: 'bytes', }, - ], + ] }, { name: 'txOrigin', @@ -823,14 +769,16 @@ export class CoordinatorContract extends BaseContract { }, ], name: 'executeTransaction', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'EIP712_EXCHANGE_DOMAIN_HASH', outputs: [ { @@ -842,7 +790,7 @@ export class CoordinatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -861,7 +809,7 @@ export class CoordinatorContract extends BaseContract { name: 'data', type: 'bytes', }, - ], + ] }, { name: 'txOrigin', @@ -881,12 +829,13 @@ export class CoordinatorContract extends BaseContract { }, ], name: 'assertValidCoordinatorApprovals', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -948,16 +897,17 @@ export class CoordinatorContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, ], payable: false, stateMutability: 'pure', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'EIP712_COORDINATOR_DOMAIN_HASH', outputs: [ { @@ -969,14 +919,15 @@ export class CoordinatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_exchange', type: 'address', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', @@ -984,16 +935,11 @@ export class CoordinatorContract extends BaseContract { ] as ContractAbi; return abi; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { super('Coordinator', CoordinatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts index 50ea62a44f..717c5cddab 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -31,7 +28,8 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable -export type CoordinatorRegistryEventArgs = CoordinatorRegistryCoordinatorEndpointSetEventArgs; +export type CoordinatorRegistryEventArgs = + | CoordinatorRegistryCoordinatorEndpointSetEventArgs; export enum CoordinatorRegistryEvents { CoordinatorEndpointSet = 'CoordinatorEndpointSet', @@ -42,30 +40,38 @@ export interface CoordinatorRegistryCoordinatorEndpointSetEventArgs extends Deco coordinatorEndpoint: string; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class CoordinatorRegistryContract extends BaseContract { public setCoordinatorEndpoint = { - async sendTransactionAsync(coordinatorEndpoint: string, txData?: Partial | undefined): Promise { - assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = (this as any) as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setCoordinatorEndpoint.estimateGasAsync.bind(self, coordinatorEndpoint), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + coordinatorEndpoint: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('coordinatorEndpoint', coordinatorEndpoint); + const self = this as any as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setCoordinatorEndpoint.estimateGasAsync.bind( + self, + coordinatorEndpoint + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( coordinatorEndpoint: string, @@ -73,45 +79,51 @@ export class CoordinatorRegistryContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = (this as any) as CoordinatorRegistryContract; - const txHashPromise = self.setCoordinatorEndpoint.sendTransactionAsync(coordinatorEndpoint, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('coordinatorEndpoint', coordinatorEndpoint); + const self = this as any as CoordinatorRegistryContract; + const txHashPromise = self.setCoordinatorEndpoint.sendTransactionAsync(coordinatorEndpoint + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(coordinatorEndpoint: string, txData?: Partial | undefined): Promise { - assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = (this as any) as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + coordinatorEndpoint: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('coordinatorEndpoint', coordinatorEndpoint); + const self = this as any as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( coordinatorEndpoint: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('coordinatorEndpoint', coordinatorEndpoint); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -121,8 +133,9 @@ export class CoordinatorRegistryContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint]); + const self = this as any as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -131,24 +144,24 @@ export class CoordinatorRegistryContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setCoordinatorEndpoint(string)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(coordinatorEndpoint: string): string { + getABIEncodedTransactionData( + coordinatorEndpoint: string, + ): string { assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = (this as any) as CoordinatorRegistryContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [ - coordinatorEndpoint, - ]); + const self = this as any as CoordinatorRegistryContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint + ]); return abiEncodedTransactionData; }, }; @@ -157,7 +170,8 @@ export class CoordinatorRegistryContract extends BaseContract { coordinatorOperator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('coordinatorOperator', coordinatorOperator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -167,10 +181,9 @@ export class CoordinatorRegistryContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [ - coordinatorOperator.toLowerCase(), - ]); + const self = this as any as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [coordinatorOperator.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -179,33 +192,33 @@ export class CoordinatorRegistryContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getCoordinatorEndpoint(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(coordinatorOperator: string): string { + getABIEncodedTransactionData( + coordinatorOperator: string, + ): string { assert.isString('coordinatorOperator', coordinatorOperator); - const self = (this as any) as CoordinatorRegistryContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [ - coordinatorOperator.toLowerCase(), - ]); + const self = this as any as CoordinatorRegistryContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [coordinatorOperator.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -218,17 +231,8 @@ export class CoordinatorRegistryContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return CoordinatorRegistryContract.deployAsync( - bytecode, - abi, - provider, - txDefaults, - logDecodeDependenciesAbiOnly, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return CoordinatorRegistryContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); } public static async deployAsync( bytecode: string, @@ -245,13 +249,17 @@ export class CoordinatorRegistryContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -259,22 +267,18 @@ export class CoordinatorRegistryContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`CoordinatorRegistry successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new CoordinatorRegistryContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); + const contractInstance = new CoordinatorRegistryContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -283,12 +287,13 @@ export class CoordinatorRegistryContract extends BaseContract { }, ], name: 'setCoordinatorEndpoint', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -307,14 +312,16 @@ export class CoordinatorRegistryContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -329,7 +336,8 @@ export class CoordinatorRegistryContract extends BaseContract { }, ], name: 'CoordinatorEndpointSet', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -403,27 +411,15 @@ export class CoordinatorRegistryContract extends BaseContract { ); return logs; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { - super( - 'CoordinatorRegistry', - CoordinatorRegistryContract.ABI(), - address, - supportedProvider, - txDefaults, - logDecodeDependencies, - ); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('CoordinatorRegistry', CoordinatorRegistryContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( CoordinatorRegistryContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts index 7947130b0d..86ae2b9e90 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -31,7 +28,9 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable -export type DummyERC20TokenEventArgs = DummyERC20TokenTransferEventArgs | DummyERC20TokenApprovalEventArgs; +export type DummyERC20TokenEventArgs = + | DummyERC20TokenTransferEventArgs + | DummyERC20TokenApprovalEventArgs; export enum DummyERC20TokenEvents { Transfer = 'Transfer', @@ -50,12 +49,17 @@ export interface DummyERC20TokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DummyERC20TokenContract extends BaseContract { public name = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -64,7 +68,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; + const self = this as any as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -74,20 +78,20 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, @@ -96,30 +100,33 @@ export class DummyERC20TokenContract extends BaseContract { async sendTransactionAsync( _spender: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind( + self, _spender.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _spender: string, @@ -128,55 +135,57 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _spender: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _spender: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -187,11 +196,10 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -200,31 +208,36 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_spender: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _spender: string, + _value: BigNumber, + ): string { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -233,7 +246,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; + const self = this as any as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -243,20 +256,20 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -266,32 +279,36 @@ export class DummyERC20TokenContract extends BaseContract { _from: string, _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -301,27 +318,25 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _value, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -329,29 +344,28 @@ export class DummyERC20TokenContract extends BaseContract { _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -359,7 +373,8 @@ export class DummyERC20TokenContract extends BaseContract { _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); @@ -371,12 +386,11 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -385,33 +399,39 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _value: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; public decimals = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -420,7 +440,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; + const self = this as any as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('decimals()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -430,20 +450,20 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decimals()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); return abiEncodedTransactionData; }, @@ -453,7 +473,8 @@ export class DummyERC20TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -463,8 +484,9 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -473,27 +495,33 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string): string { + getABIEncodedTransactionData( + _owner: string, + ): string { assert.isString('_owner', _owner); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -502,7 +530,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; + const self = this as any as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -512,26 +540,30 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -540,7 +572,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; + const self = this as any as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -550,44 +582,51 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, }; public mint = { - async sendTransactionAsync(_value: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.mint.estimateGasAsync.bind(self, _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.mint.estimateGasAsync.bind( + self, + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _value: BigNumber, @@ -595,41 +634,51 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.mint.sendTransactionAsync(_value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const txHashPromise = self.mint.sendTransactionAsync(_value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(_value: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(_value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + _value: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -639,8 +688,9 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -649,22 +699,24 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_value: BigNumber): string { + getABIEncodedTransactionData( + _value: BigNumber, + ): string { assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('mint(uint256)', [_value]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('mint(uint256)', [_value + ]); return abiEncodedTransactionData; }, }; @@ -672,27 +724,33 @@ export class DummyERC20TokenContract extends BaseContract { async sendTransactionAsync( _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind( + self, + _to.toLowerCase(), + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -701,48 +759,57 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + _to: string, + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -753,8 +820,10 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -763,26 +832,27 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_to: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _to: string, + _value: BigNumber, + ): string { assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ - _to.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; @@ -792,7 +862,8 @@ export class DummyERC20TokenContract extends BaseContract { _spender: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_spender', _spender); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -803,11 +874,10 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), + _spender.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -816,26 +886,27 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string, _spender: string): string { + getABIEncodedTransactionData( + _owner: string, + _spender: string, + ): string { assert.isString('_owner', _owner); assert.isString('_spender', _spender); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), + _spender.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -843,30 +914,33 @@ export class DummyERC20TokenContract extends BaseContract { async sendTransactionAsync( _target: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setBalance.estimateGasAsync.bind( + self, _target.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setBalance.estimateGasAsync.bind(self, _target.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _target: string, @@ -875,55 +949,57 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.setBalance.sendTransactionAsync(_target.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const txHashPromise = self.setBalance.sendTransactionAsync(_target.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _target: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ - _target.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _target: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_target', _target); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -934,11 +1010,10 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ - _target.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -947,49 +1022,57 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_target: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _target: string, + _value: BigNumber, + ): string { assert.isString('_target', _target); assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [ - _target.toLowerCase(), - _value, - ]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -997,41 +1080,51 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as DummyERC20TokenContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1041,8 +1134,9 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1051,29 +1145,33 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public MAX_MINT_AMOUNT = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1082,7 +1180,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC20TokenContract; + const self = this as any as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('MAX_MINT_AMOUNT()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1092,34 +1190,34 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('MAX_MINT_AMOUNT()', []); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, - _name: string, - _symbol: string, - _decimals: BigNumber, - _totalSupply: BigNumber, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _name: string, + _symbol: string, + _decimals: BigNumber, + _totalSupply: BigNumber, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1132,21 +1230,12 @@ export class DummyERC20TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return DummyERC20TokenContract.deployAsync( - bytecode, - abi, - provider, - txDefaults, - logDecodeDependenciesAbiOnly, - _name, - _symbol, - _decimals, - _totalSupply, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return DummyERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _name, +_symbol, +_decimals, +_totalSupply +); } public static async deployAsync( bytecode: string, @@ -1154,10 +1243,10 @@ export class DummyERC20TokenContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _name: string, - _symbol: string, - _decimals: BigNumber, - _totalSupply: BigNumber, + _name: string, + _symbol: string, + _decimals: BigNumber, + _totalSupply: BigNumber, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1167,17 +1256,29 @@ export class DummyERC20TokenContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_name, _symbol, _decimals, _totalSupply] = BaseContract._formatABIDataItemList( + [_name, +_symbol, +_decimals, +_totalSupply +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_name, _symbol, _decimals, _totalSupply], + [_name, +_symbol, +_decimals, +_totalSupply +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_name, _symbol, _decimals, _totalSupply]); + const txData = deployInfo.encode(bytecode, [_name, +_symbol, +_decimals, +_totalSupply +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1185,24 +1286,25 @@ export class DummyERC20TokenContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`DummyERC20Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new DummyERC20TokenContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); - contractInstance.constructorArgs = [_name, _symbol, _decimals, _totalSupply]; + const contractInstance = new DummyERC20TokenContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + contractInstance.constructorArgs = [_name, +_symbol, +_decimals, +_totalSupply +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'name', outputs: [ { @@ -1214,7 +1316,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1237,9 +1339,10 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'totalSupply', outputs: [ { @@ -1251,7 +1354,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1278,9 +1381,10 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'decimals', outputs: [ { @@ -1292,7 +1396,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1311,9 +1415,10 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -1325,9 +1430,10 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'symbol', outputs: [ { @@ -1339,7 +1445,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1348,12 +1454,13 @@ export class DummyERC20TokenContract extends BaseContract { }, ], name: 'mint', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1376,7 +1483,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1399,7 +1506,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1412,12 +1519,13 @@ export class DummyERC20TokenContract extends BaseContract { }, ], name: 'setBalance', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1426,14 +1534,16 @@ export class DummyERC20TokenContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'MAX_MINT_AMOUNT', outputs: [ { @@ -1445,7 +1555,7 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_name', @@ -1464,12 +1574,13 @@ export class DummyERC20TokenContract extends BaseContract { type: 'uint256', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -1489,10 +1600,11 @@ export class DummyERC20TokenContract extends BaseContract { }, ], name: 'Transfer', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1512,7 +1624,8 @@ export class DummyERC20TokenContract extends BaseContract { }, ], name: 'Approval', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1586,27 +1699,15 @@ export class DummyERC20TokenContract extends BaseContract { ); return logs; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { - super( - 'DummyERC20Token', - DummyERC20TokenContract.ABI(), - address, - supportedProvider, - txDefaults, - logDecodeDependencies, - ); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('DummyERC20Token', DummyERC20TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( DummyERC20TokenContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts index c3ad0fed54..9f3e0bad87 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -60,12 +57,17 @@ export interface DummyERC721TokenApprovalForAllEventArgs extends DecodedLogArgs _approved: boolean; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DummyERC721TokenContract extends BaseContract { public name = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -74,7 +76,7 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; + const self = this as any as DummyERC721TokenContract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -84,20 +86,20 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC721TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC721TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, @@ -107,7 +109,8 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -117,8 +120,9 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -127,22 +131,24 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_tokenId: BigNumber): string { + getABIEncodedTransactionData( + _tokenId: BigNumber, + ): string { assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId + ]); return abiEncodedTransactionData; }, }; @@ -150,30 +156,33 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _approved: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind( + self, _approved.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind(self, _approved.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _approved: string, @@ -182,55 +191,57 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), _tokenId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _approved: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _approved.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _approved: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -241,11 +252,10 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _approved.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -254,26 +264,27 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_approved: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _approved: string, + _tokenId: BigNumber, + ): string { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ - _approved.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -282,32 +293,36 @@ export class DummyERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -317,27 +332,25 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -345,29 +358,28 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -375,7 +387,8 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -387,12 +400,11 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -401,28 +413,30 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _tokenId: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -430,27 +444,33 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.mint.estimateGasAsync.bind(self, _to.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.mint.estimateGasAsync.bind( + self, + _to.toLowerCase(), + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -459,52 +479,57 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.mint.sendTransactionAsync(_to.toLowerCase(), _tokenId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.mint.sendTransactionAsync(_to.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _to: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -515,8 +540,10 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -525,26 +552,27 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_to: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _to: string, + _tokenId: BigNumber, + ): string { assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('mint(address,uint256)', [ - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -553,32 +581,36 @@ export class DummyERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom1.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom1.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -588,27 +620,25 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.safeTransferFrom1.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.safeTransferFrom1.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -616,29 +646,28 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -646,7 +675,8 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -658,12 +688,11 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -672,28 +701,30 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _tokenId: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -702,7 +733,8 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -712,8 +744,9 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -722,22 +755,24 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_tokenId: BigNumber): string { + getABIEncodedTransactionData( + _tokenId: BigNumber, + ): string { assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId + ]); return abiEncodedTransactionData; }, }; @@ -746,7 +781,8 @@ export class DummyERC721TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -756,8 +792,9 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -766,27 +803,33 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string): string { + getABIEncodedTransactionData( + _owner: string, + ): string { assert.isString('_owner', _owner); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -795,7 +838,7 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; + const self = this as any as DummyERC721TokenContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -805,26 +848,30 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC721TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC721TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -833,7 +880,7 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; + const self = this as any as DummyERC721TokenContract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -843,20 +890,20 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC721TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as DummyERC721TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, @@ -865,27 +912,33 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _owner: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.burn.estimateGasAsync.bind(self, _owner.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.burn.estimateGasAsync.bind( + self, + _owner.toLowerCase(), + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _owner: string, @@ -894,52 +947,57 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.burn.sendTransactionAsync(_owner.toLowerCase(), _tokenId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.burn.sendTransactionAsync(_owner.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _owner: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _owner: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -950,8 +1008,10 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -960,26 +1020,27 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _owner: string, + _tokenId: BigNumber, + ): string { assert.isString('_owner', _owner); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [ - _owner.toLowerCase(), - _tokenId, - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -987,30 +1048,33 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _operator: string, _approved: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setApprovalForAll.estimateGasAsync.bind( + self, _operator.toLowerCase(), - _approved, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setApprovalForAll.estimateGasAsync.bind(self, _operator.toLowerCase(), _approved), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _approved + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _operator: string, @@ -1019,59 +1083,57 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.setApprovalForAll.sendTransactionAsync( - _operator.toLowerCase(), - _approved, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.setApprovalForAll.sendTransactionAsync(_operator.toLowerCase(), + _approved + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _operator: string, _approved: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _operator: string, _approved: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1082,11 +1144,10 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1095,26 +1156,27 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_operator: string, _approved: boolean): string { + getABIEncodedTransactionData( + _operator: string, + _approved: boolean, + ): string { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); return abiEncodedTransactionData; }, }; @@ -1124,40 +1186,39 @@ export class DummyERC721TokenContract extends BaseContract { _to: string, _tokenId: BigNumber, _data: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom2.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom2.estimateGasAsync.bind( - self, - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _data + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -1168,29 +1229,27 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.safeTransferFrom2.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.safeTransferFrom2.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -1199,31 +1258,30 @@ export class DummyERC721TokenContract extends BaseContract { _data: string, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -1232,7 +1290,8 @@ export class DummyERC721TokenContract extends BaseContract { _data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -1245,13 +1304,12 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1260,28 +1318,33 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber, _data: string): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _tokenId: BigNumber, + _data: string, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.isString('_data', _data); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'safeTransferFrom(address,address,uint256,bytes)', - [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data], - ); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); return abiEncodedTransactionData; }, }; @@ -1291,7 +1354,8 @@ export class DummyERC721TokenContract extends BaseContract { _operator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_operator', _operator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1302,11 +1366,10 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), - _operator.toLowerCase(), - ]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), + _operator.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1315,49 +1378,57 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string, _operator: string): string { + getABIEncodedTransactionData( + _owner: string, + _operator: string, + ): string { assert.isString('_owner', _owner); assert.isString('_operator', _operator); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), - _operator.toLowerCase(), - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), + _operator.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -1365,41 +1436,51 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as DummyERC721TokenContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1409,8 +1490,9 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1419,35 +1501,35 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, - _name: string, - _symbol: string, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _name: string, + _symbol: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1460,19 +1542,10 @@ export class DummyERC721TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return DummyERC721TokenContract.deployAsync( - bytecode, - abi, - provider, - txDefaults, - logDecodeDependenciesAbiOnly, - _name, - _symbol, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return DummyERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _name, +_symbol +); } public static async deployAsync( bytecode: string, @@ -1480,8 +1553,8 @@ export class DummyERC721TokenContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _name: string, - _symbol: string, + _name: string, + _symbol: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1491,17 +1564,23 @@ export class DummyERC721TokenContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_name, _symbol] = BaseContract._formatABIDataItemList( + [_name, +_symbol +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_name, _symbol], + [_name, +_symbol +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_name, _symbol]); + const txData = deployInfo.encode(bytecode, [_name, +_symbol +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1509,24 +1588,23 @@ export class DummyERC721TokenContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`DummyERC721Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new DummyERC721TokenContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); - contractInstance.constructorArgs = [_name, _symbol]; + const contractInstance = new DummyERC721TokenContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + contractInstance.constructorArgs = [_name, +_symbol +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'name', outputs: [ { @@ -1538,7 +1616,7 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1557,7 +1635,7 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1570,12 +1648,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'approve', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1592,12 +1671,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'transferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1610,12 +1690,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'mint', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1632,12 +1713,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'safeTransferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1656,7 +1738,7 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1675,9 +1757,10 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -1689,9 +1772,10 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'symbol', outputs: [ { @@ -1703,7 +1787,7 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1716,12 +1800,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'burn', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1734,12 +1819,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'setApprovalForAll', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1760,12 +1846,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'safeTransferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1788,7 +1875,7 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1797,12 +1884,13 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_name', @@ -1813,12 +1901,13 @@ export class DummyERC721TokenContract extends BaseContract { type: 'string', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -1838,10 +1927,11 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'Transfer', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1861,10 +1951,11 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'Approval', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1884,7 +1975,8 @@ export class DummyERC721TokenContract extends BaseContract { }, ], name: 'ApprovalForAll', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1958,27 +2050,15 @@ export class DummyERC721TokenContract extends BaseContract { ); return logs; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { - super( - 'DummyERC721Token', - DummyERC721TokenContract.ABI(), - address, - supportedProvider, - txDefaults, - logDecodeDependencies, - ); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('DummyERC721Token', DummyERC721TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( DummyERC721TokenContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts index e7aa2434df..7f54073ecf 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,144 +23,91 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DutchAuctionContract extends BaseContract { public getAuctionDetails = { async sendTransactionAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - txData?: Partial | undefined, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + txData?: Partial | undefined, ): Promise { - const self = (this as any) as DutchAuctionContract; - const encodedData = self._strictEncodeArguments( - 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.getAuctionDetails.estimateGasAsync.bind(self, order), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + const self = this as any as DutchAuctionContract; + const encodedData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.getAuctionDetails.estimateGasAsync.bind( + self, + order + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - const self = (this as any) as DutchAuctionContract; - const txHashPromise = self.getAuctionDetails.sendTransactionAsync(order, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + const self = this as any as DutchAuctionContract; + const txHashPromise = self.getAuctionDetails.sendTransactionAsync(order + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, txData?: Partial | undefined, ): Promise { - const self = (this as any) as DutchAuctionContract; - const encodedData = self._strictEncodeArguments( - 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + const self = this as any as DutchAuctionContract; + const encodedData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - beginTimeSeconds: BigNumber; - endTimeSeconds: BigNumber; - beginAmount: BigNumber; - endAmount: BigNumber; - currentAmount: BigNumber; - currentTimeSeconds: BigNumber; - }> { + ): Promise<{beginTimeSeconds: BigNumber;endTimeSeconds: BigNumber;beginAmount: BigNumber;endAmount: BigNumber;currentAmount: BigNumber;currentTimeSeconds: BigNumber} + > { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -169,11 +116,9 @@ export class DutchAuctionContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DutchAuctionContract; - const encodedData = self._strictEncodeArguments( - 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); + const self = this as any as DutchAuctionContract; + const encodedData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -182,266 +127,141 @@ export class DutchAuctionContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - ); + const abiEncoder = self._lookupAbiEncoder('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - beginTimeSeconds: BigNumber; - endTimeSeconds: BigNumber; - beginAmount: BigNumber; - endAmount: BigNumber; - currentAmount: BigNumber; - currentTimeSeconds: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{beginTimeSeconds: BigNumber;endTimeSeconds: BigNumber;beginAmount: BigNumber;endAmount: BigNumber;currentAmount: BigNumber;currentTimeSeconds: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }): string { - const self = (this as any) as DutchAuctionContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); + getABIEncodedTransactionData( + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + ): string { + + const self = this as any as DutchAuctionContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); return abiEncodedTransactionData; }, }; public matchOrders = { async sendTransactionAsync( - buyOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - sellOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, buySignature: string, sellSignature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('buySignature', buySignature); - assert.isString('sellSignature', sellSignature); - const self = (this as any) as DutchAuctionContract; - const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [buyOrder, sellOrder, buySignature, sellSignature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.matchOrders.estimateGasAsync.bind(self, buyOrder, sellOrder, buySignature, sellSignature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + + assert.isString('buySignature', buySignature); + assert.isString('sellSignature', sellSignature); + const self = this as any as DutchAuctionContract; + const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, + sellOrder, + buySignature, + sellSignature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.matchOrders.estimateGasAsync.bind( + self, + buyOrder, + sellOrder, + buySignature, + sellSignature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - buyOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - sellOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, buySignature: string, sellSignature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('buySignature', buySignature); - assert.isString('sellSignature', sellSignature); - const self = (this as any) as DutchAuctionContract; - const txHashPromise = self.matchOrders.sendTransactionAsync( - buyOrder, - sellOrder, - buySignature, - sellSignature, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + + assert.isString('buySignature', buySignature); + assert.isString('sellSignature', sellSignature); + const self = this as any as DutchAuctionContract; + const txHashPromise = self.matchOrders.sendTransactionAsync(buyOrder, + sellOrder, + buySignature, + sellSignature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - buyOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - sellOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, buySignature: string, sellSignature: string, txData?: Partial | undefined, ): Promise { - assert.isString('buySignature', buySignature); - assert.isString('sellSignature', sellSignature); - const self = (this as any) as DutchAuctionContract; - const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [buyOrder, sellOrder, buySignature, sellSignature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + + assert.isString('buySignature', buySignature); + assert.isString('sellSignature', sellSignature); + const self = this as any as DutchAuctionContract; + const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, + sellOrder, + buySignature, + sellSignature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - buyOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - sellOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, buySignature: string, sellSignature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - left: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - right: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - leftMakerAssetSpreadAmount: BigNumber; - }> { + ): Promise<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} + > { + + assert.isString('buySignature', buySignature); assert.isString('sellSignature', sellSignature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -452,11 +272,12 @@ export class DutchAuctionContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as DutchAuctionContract; - const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [buyOrder, sellOrder, buySignature, sellSignature], - ); + const self = this as any as DutchAuctionContract; + const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, + sellOrder, + buySignature, + sellSignature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -465,82 +286,42 @@ export class DutchAuctionContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - left: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - right: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - leftMakerAssetSpreadAmount: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - buyOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - sellOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - buySignature: string, - sellSignature: string, - ): string { + buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + buySignature: string, + sellSignature: string, + ): string { + + assert.isString('buySignature', buySignature); assert.isString('sellSignature', sellSignature); - const self = (this as any) as DutchAuctionContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [buyOrder, sellOrder, buySignature, sellSignature], - ); + const self = this as any as DutchAuctionContract; + const abiEncodedTransactionData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, + sellOrder, + buySignature, + sellSignature + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, - _exchange: string, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _exchange: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -553,18 +334,9 @@ export class DutchAuctionContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return DutchAuctionContract.deployAsync( - bytecode, - abi, - provider, - txDefaults, - logDecodeDependenciesAbiOnly, - _exchange, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return DutchAuctionContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _exchange +); } public static async deployAsync( bytecode: string, @@ -572,7 +344,7 @@ export class DutchAuctionContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _exchange: string, + _exchange: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -582,17 +354,20 @@ export class DutchAuctionContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange] = BaseContract._formatABIDataItemList( + [_exchange +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange], + [_exchange +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange]); + const txData = deployInfo.encode(bytecode, [_exchange +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -600,22 +375,19 @@ export class DutchAuctionContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`DutchAuction successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new DutchAuctionContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); - contractInstance.constructorArgs = [_exchange]; + const contractInstance = new DutchAuctionContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + contractInstance.constructorArgs = [_exchange +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -670,7 +442,7 @@ export class DutchAuctionContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, ], name: 'getAuctionDetails', @@ -703,14 +475,14 @@ export class DutchAuctionContract extends BaseContract { name: 'currentTimeSeconds', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -765,7 +537,7 @@ export class DutchAuctionContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'sellOrder', @@ -819,7 +591,7 @@ export class DutchAuctionContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'buySignature', @@ -856,7 +628,7 @@ export class DutchAuctionContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, { name: 'right', @@ -878,27 +650,28 @@ export class DutchAuctionContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, { name: 'leftMakerAssetSpreadAmount', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_exchange', type: 'address', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', @@ -906,23 +679,11 @@ export class DutchAuctionContract extends BaseContract { ] as ContractAbi; return abi; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { - super( - 'DutchAuction', - DutchAuctionContract.ABI(), - address, - supportedProvider, - txDefaults, - logDecodeDependencies, - ); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('DutchAuction', DutchAuctionContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts index bcfd2f5b1c..e1807954be 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -50,30 +47,38 @@ export interface ERC20ProxyAuthorizedAddressRemovedEventArgs extends DecodedLogA caller: string; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC20ProxyContract extends BaseContract { public addAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -81,41 +86,51 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as ERC20ProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -125,8 +140,9 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -135,24 +151,24 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -161,7 +177,8 @@ export class ERC20ProxyContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -171,8 +188,9 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0]); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -181,45 +199,54 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorities(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber): string { + getABIEncodedTransactionData( + index_0: BigNumber, + ): string { assert.isBigNumber('index_0', index_0); - const self = (this as any) as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0]); + const self = this as any as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0 + ]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -227,41 +254,51 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as ERC20ProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -271,8 +308,9 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -281,29 +319,33 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -312,7 +354,7 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; + const self = this as any as ERC20ProxyContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -322,20 +364,20 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC20ProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC20ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -344,30 +386,33 @@ export class ERC20ProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( + self, target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -376,59 +421,57 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC20ProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( - target.toLowerCase(), - index, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as ERC20ProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), + index + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -439,11 +482,10 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -452,31 +494,36 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string, index: BigNumber): string { + getABIEncodedTransactionData( + target: string, + index: BigNumber, + ): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = (this as any) as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'removeAuthorizedAddressAtIndex(address,uint256)', - [target.toLowerCase(), index], - ); + const self = this as any as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -485,7 +532,7 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; + const self = this as any as ERC20ProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -495,20 +542,20 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC20ProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC20ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, @@ -518,7 +565,8 @@ export class ERC20ProxyContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -528,8 +576,9 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -538,29 +587,33 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorized(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ - index_0.toLowerCase(), - ]); + const self = this as any as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -569,7 +622,7 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; + const self = this as any as ERC20ProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -579,44 +632,51 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC20ProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC20ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -624,41 +684,51 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as ERC20ProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as ERC20ProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -668,8 +738,9 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -678,33 +749,33 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -717,11 +788,8 @@ export class ERC20ProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return ERC20ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return ERC20ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); } public static async deployAsync( bytecode: string, @@ -738,13 +806,17 @@ export class ERC20ProxyContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -752,22 +824,18 @@ export class ERC20ProxyContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC20Proxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC20ProxyContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); + const contractInstance = new ERC20ProxyContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -776,12 +844,13 @@ export class ERC20ProxyContract extends BaseContract { }, ], name: 'addAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -800,7 +869,7 @@ export class ERC20ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -809,14 +878,16 @@ export class ERC20ProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -828,7 +899,7 @@ export class ERC20ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -841,14 +912,16 @@ export class ERC20ProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getProxyId', outputs: [ { @@ -860,7 +933,7 @@ export class ERC20ProxyContract extends BaseContract { stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -879,9 +952,10 @@ export class ERC20ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getAuthorizedAddresses', outputs: [ { @@ -893,7 +967,7 @@ export class ERC20ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -902,19 +976,22 @@ export class ERC20ProxyContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -929,10 +1006,11 @@ export class ERC20ProxyContract extends BaseContract { }, ], name: 'AuthorizedAddressAdded', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -947,7 +1025,8 @@ export class ERC20ProxyContract extends BaseContract { }, ], name: 'AuthorizedAddressRemoved', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1021,12 +1100,7 @@ export class ERC20ProxyContract extends BaseContract { ); return logs; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { super('ERC20Proxy', ERC20ProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1034,7 +1108,7 @@ export class ERC20ProxyContract extends BaseContract { this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts index 58b2815bc4..5599c751f4 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -31,7 +28,9 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable -export type ERC20TokenEventArgs = ERC20TokenTransferEventArgs | ERC20TokenApprovalEventArgs; +export type ERC20TokenEventArgs = + | ERC20TokenTransferEventArgs + | ERC20TokenApprovalEventArgs; export enum ERC20TokenEvents { Transfer = 'Transfer', @@ -50,6 +49,7 @@ export interface ERC20TokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -58,30 +58,33 @@ export class ERC20TokenContract extends BaseContract { async sendTransactionAsync( _spender: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind( + self, _spender.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _spender: string, @@ -90,55 +93,57 @@ export class ERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _spender: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _spender: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -149,11 +154,10 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -162,31 +166,36 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_spender: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _spender: string, + _value: BigNumber, + ): string { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); + const self = this as any as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -195,7 +204,7 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20TokenContract; + const self = this as any as ERC20TokenContract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -205,20 +214,20 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC20TokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -228,32 +237,36 @@ export class ERC20TokenContract extends BaseContract { _from: string, _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -263,27 +276,25 @@ export class ERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _value, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -291,29 +302,28 @@ export class ERC20TokenContract extends BaseContract { _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -321,7 +331,8 @@ export class ERC20TokenContract extends BaseContract { _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); @@ -333,12 +344,11 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -347,28 +357,30 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _value: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const self = this as any as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; @@ -377,7 +389,8 @@ export class ERC20TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -387,8 +400,9 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -397,22 +411,24 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string): string { + getABIEncodedTransactionData( + _owner: string, + ): string { assert.isString('_owner', _owner); - const self = (this as any) as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -420,27 +436,33 @@ export class ERC20TokenContract extends BaseContract { async sendTransactionAsync( _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind( + self, + _to.toLowerCase(), + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -449,48 +471,57 @@ export class ERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + _to: string, + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -501,8 +532,10 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -511,26 +544,27 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_to: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _to: string, + _value: BigNumber, + ): string { assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = (this as any) as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ - _to.toLowerCase(), - _value, - ]); + const self = this as any as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; @@ -540,7 +574,8 @@ export class ERC20TokenContract extends BaseContract { _spender: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_spender', _spender); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -551,11 +586,10 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const self = this as any as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), + _spender.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -564,35 +598,36 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string, _spender: string): string { + getABIEncodedTransactionData( + _owner: string, + _spender: string, + ): string { assert.isString('_owner', _owner); assert.isString('_spender', _spender); - const self = (this as any) as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const self = this as any as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), + _spender.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -605,11 +640,8 @@ export class ERC20TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return ERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return ERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); } public static async deployAsync( bytecode: string, @@ -626,13 +658,17 @@ export class ERC20TokenContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -640,22 +676,18 @@ export class ERC20TokenContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC20Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC20TokenContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); + const contractInstance = new ERC20TokenContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -678,9 +710,10 @@ export class ERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'totalSupply', outputs: [ { @@ -692,7 +725,7 @@ export class ERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -719,7 +752,7 @@ export class ERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -738,7 +771,7 @@ export class ERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -761,7 +794,7 @@ export class ERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -784,7 +817,7 @@ export class ERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { anonymous: false, inputs: [ { @@ -804,10 +837,11 @@ export class ERC20TokenContract extends BaseContract { }, ], name: 'Transfer', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -827,7 +861,8 @@ export class ERC20TokenContract extends BaseContract { }, ], name: 'Approval', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -901,12 +936,7 @@ export class ERC20TokenContract extends BaseContract { ); return logs; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { super('ERC20Token', ERC20TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -914,7 +944,7 @@ export class ERC20TokenContract extends BaseContract { this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts index ee5085d4ab..829d8b8469 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -50,30 +47,38 @@ export interface ERC721ProxyAuthorizedAddressRemovedEventArgs extends DecodedLog caller: string; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC721ProxyContract extends BaseContract { public addAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -81,41 +86,51 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as ERC721ProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -125,8 +140,9 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -135,24 +151,24 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -161,7 +177,8 @@ export class ERC721ProxyContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -171,8 +188,9 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0]); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -181,45 +199,54 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorities(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber): string { + getABIEncodedTransactionData( + index_0: BigNumber, + ): string { assert.isBigNumber('index_0', index_0); - const self = (this as any) as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0]); + const self = this as any as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0 + ]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -227,41 +254,51 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as ERC721ProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -271,8 +308,9 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -281,29 +319,33 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -312,7 +354,7 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; + const self = this as any as ERC721ProxyContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -322,20 +364,20 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC721ProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC721ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -344,30 +386,33 @@ export class ERC721ProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( + self, target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -376,59 +421,57 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC721ProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( - target.toLowerCase(), - index, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as ERC721ProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), + index + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -439,11 +482,10 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -452,31 +494,36 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string, index: BigNumber): string { + getABIEncodedTransactionData( + target: string, + index: BigNumber, + ): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = (this as any) as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'removeAuthorizedAddressAtIndex(address,uint256)', - [target.toLowerCase(), index], - ); + const self = this as any as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -485,7 +532,7 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; + const self = this as any as ERC721ProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -495,20 +542,20 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC721ProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC721ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, @@ -518,7 +565,8 @@ export class ERC721ProxyContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -528,8 +576,9 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -538,29 +587,33 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorized(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ - index_0.toLowerCase(), - ]); + const self = this as any as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -569,7 +622,7 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; + const self = this as any as ERC721ProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -579,44 +632,51 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC721ProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ERC721ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -624,41 +684,51 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as ERC721ProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as ERC721ProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -668,8 +738,9 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -678,33 +749,33 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -717,11 +788,8 @@ export class ERC721ProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return ERC721ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return ERC721ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); } public static async deployAsync( bytecode: string, @@ -738,13 +806,17 @@ export class ERC721ProxyContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -752,22 +824,18 @@ export class ERC721ProxyContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC721Proxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC721ProxyContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); + const contractInstance = new ERC721ProxyContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -776,12 +844,13 @@ export class ERC721ProxyContract extends BaseContract { }, ], name: 'addAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -800,7 +869,7 @@ export class ERC721ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -809,14 +878,16 @@ export class ERC721ProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -828,7 +899,7 @@ export class ERC721ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -841,14 +912,16 @@ export class ERC721ProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getProxyId', outputs: [ { @@ -860,7 +933,7 @@ export class ERC721ProxyContract extends BaseContract { stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -879,9 +952,10 @@ export class ERC721ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getAuthorizedAddresses', outputs: [ { @@ -893,7 +967,7 @@ export class ERC721ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -902,19 +976,22 @@ export class ERC721ProxyContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -929,10 +1006,11 @@ export class ERC721ProxyContract extends BaseContract { }, ], name: 'AuthorizedAddressAdded', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -947,7 +1025,8 @@ export class ERC721ProxyContract extends BaseContract { }, ], name: 'AuthorizedAddressRemoved', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1021,12 +1100,7 @@ export class ERC721ProxyContract extends BaseContract { ); return logs; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { super('ERC721Proxy', ERC721ProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1034,7 +1108,7 @@ export class ERC721ProxyContract extends BaseContract { this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts index 2a0420e010..fe4a3ebfac 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -60,6 +57,7 @@ export interface ERC721TokenApprovalForAllEventArgs extends DecodedLogArgs { _approved: boolean; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -69,7 +67,8 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -79,8 +78,9 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -89,22 +89,24 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_tokenId: BigNumber): string { + getABIEncodedTransactionData( + _tokenId: BigNumber, + ): string { assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId + ]); return abiEncodedTransactionData; }, }; @@ -112,30 +114,33 @@ export class ERC721TokenContract extends BaseContract { async sendTransactionAsync( _approved: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind( + self, _approved.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind(self, _approved.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _approved: string, @@ -144,55 +149,57 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), _tokenId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _approved: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _approved.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _approved: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -203,11 +210,10 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _approved.toLowerCase(), - _tokenId, - ]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -216,26 +222,27 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_approved: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _approved: string, + _tokenId: BigNumber, + ): string { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ - _approved.toLowerCase(), - _tokenId, - ]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -244,32 +251,36 @@ export class ERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -279,27 +290,25 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -307,29 +316,28 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -337,7 +345,8 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -349,12 +358,11 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -363,28 +371,30 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _tokenId: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -393,32 +403,36 @@ export class ERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom1.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom1.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -428,27 +442,25 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.safeTransferFrom1.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const txHashPromise = self.safeTransferFrom1.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -456,29 +468,28 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -486,7 +497,8 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -498,12 +510,11 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -512,28 +523,30 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _tokenId: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId + ]); return abiEncodedTransactionData; }, }; @@ -542,7 +555,8 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -552,8 +566,9 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -562,22 +577,24 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_tokenId: BigNumber): string { + getABIEncodedTransactionData( + _tokenId: BigNumber, + ): string { assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId + ]); return abiEncodedTransactionData; }, }; @@ -586,7 +603,8 @@ export class ERC721TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -596,8 +614,9 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -606,22 +625,24 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string): string { + getABIEncodedTransactionData( + _owner: string, + ): string { assert.isString('_owner', _owner); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -629,30 +650,33 @@ export class ERC721TokenContract extends BaseContract { async sendTransactionAsync( _operator: string, _approved: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setApprovalForAll.estimateGasAsync.bind( + self, _operator.toLowerCase(), - _approved, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setApprovalForAll.estimateGasAsync.bind(self, _operator.toLowerCase(), _approved), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _approved + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _operator: string, @@ -661,59 +685,57 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.setApprovalForAll.sendTransactionAsync( - _operator.toLowerCase(), - _approved, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = this as any as ERC721TokenContract; + const txHashPromise = self.setApprovalForAll.sendTransactionAsync(_operator.toLowerCase(), + _approved + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _operator: string, _approved: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _operator: string, _approved: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -724,11 +746,10 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -737,26 +758,27 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_operator: string, _approved: boolean): string { + getABIEncodedTransactionData( + _operator: string, + _approved: boolean, + ): string { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), + _approved + ]); return abiEncodedTransactionData; }, }; @@ -766,40 +788,39 @@ export class ERC721TokenContract extends BaseContract { _to: string, _tokenId: BigNumber, _data: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom2.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom2.estimateGasAsync.bind( - self, - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _data + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -810,29 +831,27 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.safeTransferFrom2.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = this as any as ERC721TokenContract; + const txHashPromise = self.safeTransferFrom2.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -841,31 +860,30 @@ export class ERC721TokenContract extends BaseContract { _data: string, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -874,7 +892,8 @@ export class ERC721TokenContract extends BaseContract { _data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -887,13 +906,12 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -902,28 +920,33 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber, _data: string): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _tokenId: BigNumber, + _data: string, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.isString('_data', _data); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'safeTransferFrom(address,address,uint256,bytes)', - [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data], - ); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data + ]); return abiEncodedTransactionData; }, }; @@ -933,7 +956,8 @@ export class ERC721TokenContract extends BaseContract { _operator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_operator', _operator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -944,11 +968,10 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), - _operator.toLowerCase(), - ]); + const self = this as any as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), + _operator.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -957,35 +980,36 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string, _operator: string): string { + getABIEncodedTransactionData( + _owner: string, + _operator: string, + ): string { assert.isString('_owner', _owner); assert.isString('_operator', _operator); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), - _operator.toLowerCase(), - ]); + const self = this as any as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), + _operator.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -998,11 +1022,8 @@ export class ERC721TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return ERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return ERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); } public static async deployAsync( bytecode: string, @@ -1019,13 +1040,17 @@ export class ERC721TokenContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1033,22 +1058,18 @@ export class ERC721TokenContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC721Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC721TokenContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); + const contractInstance = new ERC721TokenContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -1067,7 +1088,7 @@ export class ERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1080,12 +1101,13 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'approve', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1102,12 +1124,13 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'transferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1124,12 +1147,13 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'safeTransferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1148,7 +1172,7 @@ export class ERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1167,7 +1191,7 @@ export class ERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1180,12 +1204,13 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'setApprovalForAll', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1206,12 +1231,13 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'safeTransferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1234,7 +1260,7 @@ export class ERC721TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { anonymous: false, inputs: [ { @@ -1254,10 +1280,11 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'Transfer', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1277,10 +1304,11 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'Approval', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1300,7 +1328,8 @@ export class ERC721TokenContract extends BaseContract { }, ], name: 'ApprovalForAll', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1374,12 +1403,7 @@ export class ERC721TokenContract extends BaseContract { ); return logs; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { super('ERC721Token', ERC721TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1387,7 +1411,7 @@ export class ERC721TokenContract extends BaseContract { this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts index e4a6c2ac39..bc77e5c9b0 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,6 +23,7 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -32,7 +33,8 @@ export class EthBalanceCheckerContract extends BaseContract { addresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isArray('addresses', addresses); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -42,8 +44,9 @@ export class EthBalanceCheckerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as EthBalanceCheckerContract; - const encodedData = self._strictEncodeArguments('getEthBalances(address[])', [addresses]); + const self = this as any as EthBalanceCheckerContract; + const encodedData = self._strictEncodeArguments('getEthBalances(address[])', [addresses + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -52,30 +55,32 @@ export class EthBalanceCheckerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(addresses: string[]): string { + getABIEncodedTransactionData( + addresses: string[], + ): string { assert.isArray('addresses', addresses); - const self = (this as any) as EthBalanceCheckerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getEthBalances(address[])', [addresses]); + const self = this as any as EthBalanceCheckerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getEthBalances(address[])', [addresses + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -88,11 +93,8 @@ export class EthBalanceCheckerContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return EthBalanceCheckerContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return EthBalanceCheckerContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); } public static async deployAsync( bytecode: string, @@ -109,13 +111,17 @@ export class EthBalanceCheckerContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -123,22 +129,18 @@ export class EthBalanceCheckerContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`EthBalanceChecker successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new EthBalanceCheckerContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); + const contractInstance = new EthBalanceCheckerContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -160,23 +162,11 @@ export class EthBalanceCheckerContract extends BaseContract { ] as ContractAbi; return abi; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { - super( - 'EthBalanceChecker', - EthBalanceCheckerContract.ABI(), - address, - supportedProvider, - txDefaults, - logDecodeDependencies, - ); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('EthBalanceChecker', EthBalanceCheckerContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts index 873bde5b79..460a0c1d6d 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -86,6 +83,7 @@ export interface ExchangeAssetProxyRegisteredEventArgs extends DecodedLogArgs { assetProxy: string; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -95,7 +93,8 @@ export class ExchangeContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -105,8 +104,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('filled(bytes32)', [index_0]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('filled(bytes32)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -115,179 +115,128 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('filled(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('filled(bytes32)', [index_0]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('filled(bytes32)', [index_0 + ]); return abiEncodedTransactionData; }, }; public batchFillOrders = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchFillOrders.estimateGasAsync.bind(self, orders, takerAssetFillAmounts, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchFillOrders.estimateGasAsync.bind( + self, + orders, + takerAssetFillAmounts, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchFillOrders.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.batchFillOrders.sendTransactionAsync(orders, + takerAssetFillAmounts, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); @@ -299,11 +248,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -312,51 +261,30 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); return abiEncodedTransactionData; }, }; @@ -365,7 +293,8 @@ export class ExchangeContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -375,8 +304,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelled(bytes32)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -385,22 +315,24 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('cancelled(bytes32)', [index_0 + ]); return abiEncodedTransactionData; }, }; @@ -409,32 +341,36 @@ export class ExchangeContract extends BaseContract { hash: string, signerAddress: string, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.preSign.estimateGasAsync.bind( + self, hash, signerAddress.toLowerCase(), - signature, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.preSign.estimateGasAsync.bind(self, hash, signerAddress.toLowerCase(), signature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + signature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( hash: string, @@ -444,27 +380,25 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.preSign.sendTransactionAsync( - hash, - signerAddress.toLowerCase(), - signature, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const txHashPromise = self.preSign.sendTransactionAsync(hash, + signerAddress.toLowerCase(), + signature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( hash: string, @@ -472,29 +406,28 @@ export class ExchangeContract extends BaseContract { signature: string, txData?: Partial | undefined, ): Promise { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( hash: string, @@ -502,7 +435,8 @@ export class ExchangeContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); @@ -514,12 +448,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -528,248 +461,147 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('preSign(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { + getABIEncodedTransactionData( + hash: string, + signerAddress: string, + signature: string, + ): string { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); return abiEncodedTransactionData; }, }; public matchOrders = { async sendTransactionAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - rightOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, leftSignature: string, rightSignature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [leftOrder, rightOrder, leftSignature, rightSignature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.matchOrders.estimateGasAsync.bind(self, leftOrder, rightOrder, leftSignature, rightSignature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, + rightOrder, + leftSignature, + rightSignature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.matchOrders.estimateGasAsync.bind( + self, + leftOrder, + rightOrder, + leftSignature, + rightSignature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - rightOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, leftSignature: string, rightSignature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.matchOrders.sendTransactionAsync( - leftOrder, - rightOrder, - leftSignature, - rightSignature, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); + const self = this as any as ExchangeContract; + const txHashPromise = self.matchOrders.sendTransactionAsync(leftOrder, + rightOrder, + leftSignature, + rightSignature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - rightOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, leftSignature: string, rightSignature: string, txData?: Partial | undefined, ): Promise { - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [leftOrder, rightOrder, leftSignature, rightSignature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, + rightOrder, + leftSignature, + rightSignature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - rightOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, leftSignature: string, rightSignature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - left: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - right: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - leftMakerAssetSpreadAmount: BigNumber; - }> { + ): Promise<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} + > { + + assert.isString('leftSignature', leftSignature); assert.isString('rightSignature', rightSignature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -780,11 +612,12 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [leftOrder, rightOrder, leftSignature, rightSignature], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, + rightOrder, + leftSignature, + rightSignature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -793,227 +626,138 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - left: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - right: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }; - leftMakerAssetSpreadAmount: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - rightOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - leftSignature: string, - rightSignature: string, - ): string { + leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + leftSignature: string, + rightSignature: string, + ): string { + + assert.isString('leftSignature', leftSignature); assert.isString('rightSignature', rightSignature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', - [leftOrder, rightOrder, leftSignature, rightSignature], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, + rightOrder, + leftSignature, + rightSignature + ]); return abiEncodedTransactionData; }, }; public fillOrderNoThrow = { async sendTransactionAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.fillOrderNoThrow.estimateGasAsync.bind(self, order, takerAssetFillAmount, signature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.fillOrderNoThrow.estimateGasAsync.bind( + self, + order, + takerAssetFillAmount, + signature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.fillOrderNoThrow.sendTransactionAsync( - order, - takerAssetFillAmount, - signature, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const txHashPromise = self.fillOrderNoThrow.sendTransactionAsync(order, + takerAssetFillAmount, + signature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1024,11 +768,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1037,55 +781,40 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + takerAssetFillAmount: BigNumber, + signature: string, + ): string { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); return abiEncodedTransactionData; }, }; public assetProxies = { - async callAsync(index_0: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + index_0: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1095,8 +824,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1105,155 +835,106 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('assetProxies(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 + ]); return abiEncodedTransactionData; }, }; public batchCancelOrders = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - txData?: Partial | undefined, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - [orders], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchCancelOrders.estimateGasAsync.bind(self, orders), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchCancelOrders.estimateGasAsync.bind( + self, + orders + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchCancelOrders.sendTransactionAsync(orders, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + const self = this as any as ExchangeContract; + const txHashPromise = self.batchCancelOrders.sendTransactionAsync(orders + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - [orders], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isArray('orders', orders); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1263,11 +944,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - [orders], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1276,199 +955,128 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - ); + const abiEncoder = self._lookupAbiEncoder('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + ): string { assert.isArray('orders', orders); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - [orders], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders + ]); return abiEncodedTransactionData; }, }; public batchFillOrKillOrders = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchFillOrKillOrders.estimateGasAsync.bind(self, orders, takerAssetFillAmounts, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchFillOrKillOrders.estimateGasAsync.bind( + self, + orders, + takerAssetFillAmounts, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchFillOrKillOrders.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.batchFillOrKillOrders.sendTransactionAsync(orders, + takerAssetFillAmounts, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); @@ -1480,11 +1088,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1493,74 +1101,60 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); return abiEncodedTransactionData; }, }; public cancelOrdersUpTo = { - async sendTransactionAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.cancelOrdersUpTo.estimateGasAsync.bind(self, targetOrderEpoch), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + targetOrderEpoch: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.cancelOrdersUpTo.estimateGasAsync.bind( + self, + targetOrderEpoch + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( targetOrderEpoch: BigNumber, @@ -1568,45 +1162,51 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = this as any as ExchangeContract; + const txHashPromise = self.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + targetOrderEpoch: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( targetOrderEpoch: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1616,8 +1216,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1626,181 +1227,128 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('cancelOrdersUpTo(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(targetOrderEpoch: BigNumber): string { + getABIEncodedTransactionData( + targetOrderEpoch: BigNumber, + ): string { assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [ - targetOrderEpoch, - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch + ]); return abiEncodedTransactionData; }, }; public batchFillOrdersNoThrow = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchFillOrdersNoThrow.estimateGasAsync.bind(self, orders, takerAssetFillAmounts, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchFillOrdersNoThrow.estimateGasAsync.bind( + self, + orders, + takerAssetFillAmounts, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchFillOrdersNoThrow.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.batchFillOrdersNoThrow.sendTransactionAsync(orders, + takerAssetFillAmounts, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); @@ -1812,11 +1360,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1825,51 +1373,30 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, + takerAssetFillAmounts, + signatures + ]); return abiEncodedTransactionData; }, }; @@ -1878,7 +1405,8 @@ export class ExchangeContract extends BaseContract { assetProxyId: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxyId', assetProxyId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1888,8 +1416,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1898,22 +1427,24 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetProxyId: string): string { + getABIEncodedTransactionData( + assetProxyId: string, + ): string { assert.isString('assetProxyId', assetProxyId); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId + ]); return abiEncodedTransactionData; }, }; @@ -1922,7 +1453,8 @@ export class ExchangeContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1932,8 +1464,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('transactions(bytes32)', [index_0]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('transactions(bytes32)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1942,176 +1475,129 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transactions(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactions(bytes32)', [index_0]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transactions(bytes32)', [index_0 + ]); return abiEncodedTransactionData; }, }; public fillOrKillOrder = { async sendTransactionAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.fillOrKillOrder.estimateGasAsync.bind(self, order, takerAssetFillAmount, signature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.fillOrKillOrder.estimateGasAsync.bind( + self, + order, + takerAssetFillAmount, + signature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.fillOrKillOrder.sendTransactionAsync( - order, - takerAssetFillAmount, - signature, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const txHashPromise = self.fillOrKillOrder.sendTransactionAsync(order, + takerAssetFillAmount, + signature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2122,11 +1608,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2135,50 +1621,30 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + takerAssetFillAmount: BigNumber, + signature: string, + ): string { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); return abiEncodedTransactionData; }, }; @@ -2186,34 +1652,33 @@ export class ExchangeContract extends BaseContract { async sendTransactionAsync( validatorAddress: string, approval: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), + approval + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setSignatureValidatorApproval.estimateGasAsync.bind( + self, validatorAddress.toLowerCase(), - approval, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setSignatureValidatorApproval.estimateGasAsync.bind( - self, - validatorAddress.toLowerCase(), - approval, - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + approval + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( validatorAddress: string, @@ -2222,59 +1687,57 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.setSignatureValidatorApproval.sendTransactionAsync( - validatorAddress.toLowerCase(), - approval, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); + const self = this as any as ExchangeContract; + const txHashPromise = self.setSignatureValidatorApproval.sendTransactionAsync(validatorAddress.toLowerCase(), + approval + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( validatorAddress: string, approval: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ - validatorAddress.toLowerCase(), - approval, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), + approval + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( validatorAddress: string, approval: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('validatorAddress', validatorAddress); assert.isBoolean('approval', approval); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2285,11 +1748,10 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ - validatorAddress.toLowerCase(), - approval, - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), + approval + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2298,26 +1760,27 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(validatorAddress: string, approval: boolean): string { + getABIEncodedTransactionData( + validatorAddress: string, + approval: boolean, + ): string { assert.isString('validatorAddress', validatorAddress); assert.isBoolean('approval', approval); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'setSignatureValidatorApproval(address,bool)', - [validatorAddress.toLowerCase(), approval], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), + approval + ]); return abiEncodedTransactionData; }, }; @@ -2327,7 +1790,8 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2338,11 +1802,10 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('allowedValidators(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('allowedValidators(address,address)', [index_0.toLowerCase(), + index_1.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2351,183 +1814,131 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string, index_1: string): string { + getABIEncodedTransactionData( + index_0: string, + index_1: string, + ): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowedValidators(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowedValidators(address,address)', [index_0.toLowerCase(), + index_1.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public marketSellOrders = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketSellOrders.estimateGasAsync.bind(self, orders, takerAssetFillAmount, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketSellOrders.estimateGasAsync.bind( + self, + orders, + takerAssetFillAmount, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.marketSellOrders.sendTransactionAsync( - orders, - takerAssetFillAmount, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.marketSellOrders.sendTransactionAsync(orders, + takerAssetFillAmount, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); @@ -2539,11 +1950,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2552,73 +1963,40 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); return abiEncodedTransactionData; }, }; public getOrdersInfo = { async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise> { + ): Promise + > { assert.isArray('orders', orders); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -2628,11 +2006,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - [orders], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2641,44 +2017,24 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - ); + const abiEncoder = self._lookupAbiEncoder('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }> - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + ): string { assert.isArray('orders', orders); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', - [orders], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders + ]); return abiEncodedTransactionData; }, }; @@ -2688,7 +2044,8 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2699,11 +2056,10 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSigned(bytes32,address)', [ - index_0, - index_1.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSigned(bytes32,address)', [index_0, + index_1.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2712,31 +2068,36 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('preSigned(bytes32,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string, index_1: string): string { + getABIEncodedTransactionData( + index_0: string, + index_1: string, + ): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('preSigned(bytes32,address)', [ - index_0, - index_1.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('preSigned(bytes32,address)', [index_0, + index_1.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2745,7 +2106,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; + const self = this as any as ExchangeContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2755,20 +2116,20 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ExchangeContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -2780,7 +2141,8 @@ export class ExchangeContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); @@ -2792,12 +2154,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2806,185 +2167,134 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { + getABIEncodedTransactionData( + hash: string, + signerAddress: string, + signature: string, + ): string { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); return abiEncodedTransactionData; }, }; public marketBuyOrdersNoThrow = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketBuyOrdersNoThrow.estimateGasAsync.bind(self, orders, makerAssetFillAmount, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketBuyOrdersNoThrow.estimateGasAsync.bind( + self, + orders, + makerAssetFillAmount, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.marketBuyOrdersNoThrow.sendTransactionAsync( - orders, - makerAssetFillAmount, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.marketBuyOrdersNoThrow.sendTransactionAsync(orders, + makerAssetFillAmount, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); @@ -2996,11 +2306,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3009,200 +2319,135 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + makerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); return abiEncodedTransactionData; }, }; public fillOrder = { async sendTransactionAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.fillOrder.estimateGasAsync.bind(self, order, takerAssetFillAmount, signature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.fillOrder.estimateGasAsync.bind( + self, + order, + takerAssetFillAmount, + signature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.fillOrder.sendTransactionAsync(order, takerAssetFillAmount, signature, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const txHashPromise = self.fillOrder.sendTransactionAsync(order, + takerAssetFillAmount, + signature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAssetFillAmount: BigNumber, signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -3213,11 +2458,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3226,50 +2471,30 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + takerAssetFillAmount: BigNumber, + signature: string, + ): string { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, + takerAssetFillAmount, + signature + ]); return abiEncodedTransactionData; }, }; @@ -3279,34 +2504,39 @@ export class ExchangeContract extends BaseContract { signerAddress: string, data: string, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('salt', salt); - assert.isString('signerAddress', signerAddress); - assert.isString('data', data); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [ + assert.isBigNumber('salt', salt); + assert.isString('signerAddress', signerAddress); + assert.isString('data', data); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, + signerAddress.toLowerCase(), + data, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeTransaction.estimateGasAsync.bind( + self, salt, signerAddress.toLowerCase(), data, - signature, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeTransaction.estimateGasAsync.bind(self, salt, signerAddress.toLowerCase(), data, signature), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + signature + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( salt: BigNumber, @@ -3317,29 +2547,27 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('salt', salt); - assert.isString('signerAddress', signerAddress); - assert.isString('data', data); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync( - salt, - signerAddress.toLowerCase(), - data, - signature, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('salt', salt); + assert.isString('signerAddress', signerAddress); + assert.isString('data', data); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const txHashPromise = self.executeTransaction.sendTransactionAsync(salt, + signerAddress.toLowerCase(), + data, + signature + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( salt: BigNumber, @@ -3348,31 +2576,30 @@ export class ExchangeContract extends BaseContract { signature: string, txData?: Partial | undefined, ): Promise { - assert.isBigNumber('salt', salt); - assert.isString('signerAddress', signerAddress); - assert.isString('data', data); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [ - salt, - signerAddress.toLowerCase(), - data, - signature, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isBigNumber('salt', salt); + assert.isString('signerAddress', signerAddress); + assert.isString('data', data); + assert.isString('signature', signature); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, + signerAddress.toLowerCase(), + data, + signature + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( salt: BigNumber, @@ -3381,7 +2608,8 @@ export class ExchangeContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('salt', salt); assert.isString('signerAddress', signerAddress); assert.isString('data', data); @@ -3394,13 +2622,12 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [ - salt, - signerAddress.toLowerCase(), - data, - signature, - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, + signerAddress.toLowerCase(), + data, + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3409,51 +2636,63 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256,address,bytes,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(salt: BigNumber, signerAddress: string, data: string, signature: string): string { + getABIEncodedTransactionData( + salt: BigNumber, + signerAddress: string, + data: string, + signature: string, + ): string { assert.isBigNumber('salt', salt); assert.isString('signerAddress', signerAddress); assert.isString('data', data); assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'executeTransaction(uint256,address,bytes,bytes)', - [salt, signerAddress.toLowerCase(), data, signature], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, + signerAddress.toLowerCase(), + data, + signature + ]); return abiEncodedTransactionData; }, }; public registerAssetProxy = { - async sendTransactionAsync(assetProxy: string, txData?: Partial | undefined): Promise { - assert.isString('assetProxy', assetProxy); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.registerAssetProxy.estimateGasAsync.bind(self, assetProxy.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + assetProxy: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('assetProxy', assetProxy); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.registerAssetProxy.estimateGasAsync.bind( + self, + assetProxy.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetProxy: string, @@ -3461,45 +2700,51 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxy', assetProxy); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetProxy', assetProxy); + const self = this as any as ExchangeContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(assetProxy: string, txData?: Partial | undefined): Promise { - assert.isString('assetProxy', assetProxy); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + assetProxy: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('assetProxy', assetProxy); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetProxy: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxy', assetProxy); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -3509,8 +2754,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3519,46 +2765,35 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetProxy: string): string { + getABIEncodedTransactionData( + assetProxy: string, + ): string { assert.isString('assetProxy', assetProxy); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [ - assetProxy.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public getOrderInfo = { async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }> { + ): Promise<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber} + > { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3567,11 +2802,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3580,173 +2813,107 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - ); + const abiEncoder = self._lookupAbiEncoder('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - orderStatus: number; - orderHash: string; - orderTakerAssetFilledAmount: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }): string { - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); + getABIEncodedTransactionData( + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + ): string { + + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); return abiEncodedTransactionData; }, }; public cancelOrder = { async sendTransactionAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - txData?: Partial | undefined, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + txData?: Partial | undefined, ): Promise { - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.cancelOrder.estimateGasAsync.bind(self, order), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.cancelOrder.estimateGasAsync.bind( + self, + order + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - const self = (this as any) as ExchangeContract; - const txHashPromise = self.cancelOrder.sendTransactionAsync(order, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + + const self = this as any as ExchangeContract; + const txHashPromise = self.cancelOrder.sendTransactionAsync(order + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, txData?: Partial | undefined, ): Promise { - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3755,11 +2922,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3768,39 +2933,24 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - ); + const abiEncoder = self._lookupAbiEncoder('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }): string { - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', - [order], - ); + getABIEncodedTransactionData( + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + ): string { + + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order + ]); return abiEncodedTransactionData; }, }; @@ -3810,7 +2960,8 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -3821,11 +2972,10 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('orderEpoch(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('orderEpoch(address,address)', [index_0.toLowerCase(), + index_1.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3834,31 +2984,36 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string, index_1: string): string { + getABIEncodedTransactionData( + index_0: string, + index_1: string, + ): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('orderEpoch(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('orderEpoch(address,address)', [index_0.toLowerCase(), + index_1.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public ZRX_ASSET_DATA = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3867,7 +3022,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; + const self = this as any as ExchangeContract; const encodedData = self._strictEncodeArguments('ZRX_ASSET_DATA()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3877,178 +3032,125 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('ZRX_ASSET_DATA()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ExchangeContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('ZRX_ASSET_DATA()', []); return abiEncodedTransactionData; }, }; public marketSellOrdersNoThrow = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketSellOrdersNoThrow.estimateGasAsync.bind(self, orders, takerAssetFillAmount, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketSellOrdersNoThrow.estimateGasAsync.bind( + self, + orders, + takerAssetFillAmount, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.marketSellOrdersNoThrow.sendTransactionAsync( - orders, - takerAssetFillAmount, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.marketSellOrdersNoThrow.sendTransactionAsync(orders, + takerAssetFillAmount, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); @@ -4060,11 +3162,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -4073,56 +3175,39 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + takerAssetFillAmount, + signatures + ]); return abiEncodedTransactionData; }, }; public EIP712_DOMAIN_HASH = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -4131,7 +3216,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; + const self = this as any as ExchangeContract; const encodedData = self._strictEncodeArguments('EIP712_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4141,178 +3226,125 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('EIP712_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ExchangeContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, }; public marketBuyOrders = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketBuyOrders.estimateGasAsync.bind(self, orders, makerAssetFillAmount, signatures), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketBuyOrders.estimateGasAsync.bind( + self, + orders, + makerAssetFillAmount, + signatures + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.marketBuyOrders.sendTransactionAsync( - orders, - makerAssetFillAmount, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const txHashPromise = self.marketBuyOrders.sendTransactionAsync(orders, + makerAssetFillAmount, + signatures + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }> { + ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + > { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); @@ -4324,11 +3356,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -4337,56 +3369,39 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + makerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, + makerAssetFillAmount, + signatures + ]); return abiEncodedTransactionData; }, }; public currentContextAddress = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -4395,7 +3410,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; + const self = this as any as ExchangeContract; const encodedData = self._strictEncodeArguments('currentContextAddress()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4405,44 +3420,51 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('currentContextAddress()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ExchangeContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('currentContextAddress()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -4450,41 +3472,51 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as ExchangeContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -4494,8 +3526,9 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -4504,29 +3537,33 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public VERSION = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -4535,7 +3572,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ExchangeContract; + const self = this as any as ExchangeContract; const encodedData = self._strictEncodeArguments('VERSION()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4545,31 +3582,31 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('VERSION()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ExchangeContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('VERSION()', []); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, - _zrxAssetData: string, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _zrxAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -4582,18 +3619,9 @@ export class ExchangeContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return ExchangeContract.deployAsync( - bytecode, - abi, - provider, - txDefaults, - logDecodeDependenciesAbiOnly, - _zrxAssetData, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return ExchangeContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _zrxAssetData +); } public static async deployAsync( bytecode: string, @@ -4601,7 +3629,7 @@ export class ExchangeContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _zrxAssetData: string, + _zrxAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -4611,17 +3639,20 @@ export class ExchangeContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_zrxAssetData] = BaseContract._formatABIDataItemList( + [_zrxAssetData +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_zrxAssetData], + [_zrxAssetData +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_zrxAssetData]); + const txData = deployInfo.encode(bytecode, [_zrxAssetData +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -4629,22 +3660,19 @@ export class ExchangeContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`Exchange successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ExchangeContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); - contractInstance.constructorArgs = [_zrxAssetData]; + const contractInstance = new ExchangeContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + contractInstance.constructorArgs = [_zrxAssetData +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -4663,7 +3691,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4718,7 +3746,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmounts', @@ -4751,14 +3779,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4777,7 +3805,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4794,12 +3822,13 @@ export class ExchangeContract extends BaseContract { }, ], name: 'preSign', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4854,7 +3883,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'rightOrder', @@ -4908,7 +3937,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'leftSignature', @@ -4945,7 +3974,7 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, { name: 'right', @@ -4967,20 +3996,20 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, { name: 'leftMakerAssetSpreadAmount', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5035,7 +4064,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmount', @@ -5068,14 +4097,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5094,7 +4123,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5149,16 +4178,17 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, ], name: 'batchCancelOrders', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5213,7 +4243,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmounts', @@ -5246,14 +4276,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5262,12 +4292,13 @@ export class ExchangeContract extends BaseContract { }, ], name: 'cancelOrdersUpTo', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5322,7 +4353,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmounts', @@ -5355,14 +4386,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5381,7 +4412,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5400,7 +4431,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5455,7 +4486,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmount', @@ -5488,14 +4519,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5508,12 +4539,13 @@ export class ExchangeContract extends BaseContract { }, ], name: 'setSignatureValidatorApproval', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5536,7 +4568,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5591,7 +4623,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmount', @@ -5624,14 +4656,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5686,7 +4718,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, ], name: 'getOrdersInfo', @@ -5707,14 +4739,14 @@ export class ExchangeContract extends BaseContract { name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5737,9 +4769,10 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -5751,7 +4784,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5778,7 +4811,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5833,7 +4866,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'makerAssetFillAmount', @@ -5866,14 +4899,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5928,7 +4961,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmount', @@ -5961,14 +4994,14 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5989,12 +5022,13 @@ export class ExchangeContract extends BaseContract { }, ], name: 'executeTransaction', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -6003,12 +5037,13 @@ export class ExchangeContract extends BaseContract { }, ], name: 'registerAssetProxy', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -6063,7 +5098,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, ], name: 'getOrderInfo', @@ -6084,14 +5119,14 @@ export class ExchangeContract extends BaseContract { name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -6146,16 +5181,17 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, ], name: 'cancelOrder', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -6178,9 +5214,10 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'ZRX_ASSET_DATA', outputs: [ { @@ -6192,7 +5229,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -6247,7 +5284,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAssetFillAmount', @@ -6280,16 +5317,17 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'EIP712_DOMAIN_HASH', outputs: [ { @@ -6301,7 +5339,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -6356,7 +5394,7 @@ export class ExchangeContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'makerAssetFillAmount', @@ -6389,16 +5427,17 @@ export class ExchangeContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'currentContextAddress', outputs: [ { @@ -6410,7 +5449,7 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -6419,14 +5458,16 @@ export class ExchangeContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'VERSION', outputs: [ { @@ -6438,19 +5479,20 @@ export class ExchangeContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_zrxAssetData', type: 'bytes', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -6470,10 +5512,11 @@ export class ExchangeContract extends BaseContract { }, ], name: 'SignatureValidatorApproval', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -6533,10 +5576,11 @@ export class ExchangeContract extends BaseContract { }, ], name: 'Fill', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -6571,10 +5615,11 @@ export class ExchangeContract extends BaseContract { }, ], name: 'Cancel', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -6594,10 +5639,11 @@ export class ExchangeContract extends BaseContract { }, ], name: 'CancelUpTo', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -6612,7 +5658,8 @@ export class ExchangeContract extends BaseContract { }, ], name: 'AssetProxyRegistered', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -6686,12 +5733,7 @@ export class ExchangeContract extends BaseContract { ); return logs; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { super('Exchange', ExchangeContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -6699,7 +5741,7 @@ export class ExchangeContract extends BaseContract { this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts index 4a4e7f68ef..efe2ed7409 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,123 +23,68 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ForwarderContract extends BaseContract { public marketBuyOrdersWithEth = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [ - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - ], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketBuyOrdersWithEth.estimateGasAsync.bind( - self, - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketBuyOrdersWithEth.estimateGasAsync.bind( + self, + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, @@ -147,158 +92,86 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const txHashPromise = self.marketBuyOrdersWithEth.sendTransactionAsync( - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = this as any as ForwarderContract; + const txHashPromise = self.marketBuyOrdersWithEth.sendTransactionAsync(orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [ - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - ], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - [ - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }, - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - } - ] + ): Promise<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] > { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); @@ -315,19 +188,15 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [ - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - ], - ); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -336,70 +205,26 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - ); + const abiEncoder = self._lookupAbiEncoder('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - [ - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }, - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - } - ] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - feeSignatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + makerAssetFillAmount: BigNumber, + signatures: string[], + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeSignatures: string[], + feePercentage: BigNumber, + feeRecipient: string, + ): string { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); @@ -407,19 +232,15 @@ export class ForwarderContract extends BaseContract { assert.isArray('feeSignatures', feeSignatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [ - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - ], - ); + const self = this as any as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -427,27 +248,33 @@ export class ForwarderContract extends BaseContract { async sendTransactionAsync( assetData: string, amount: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.withdrawAsset.estimateGasAsync.bind(self, assetData, amount), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, + amount + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.withdrawAsset.estimateGasAsync.bind( + self, + assetData, + amount + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetData: string, @@ -456,52 +283,57 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = (this as any) as ForwarderContract; - const txHashPromise = self.withdrawAsset.sendTransactionAsync(assetData, amount, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = this as any as ForwarderContract; + const txHashPromise = self.withdrawAsset.sendTransactionAsync(assetData, + amount + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( assetData: string, amount: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, + amount + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetData: string, amount: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetData', assetData); assert.isBigNumber('amount', amount); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -512,8 +344,10 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, + amount + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -522,31 +356,36 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetData: string, amount: BigNumber): string { + getABIEncodedTransactionData( + assetData: string, + amount: BigNumber, + ): string { assert.isString('assetData', assetData); assert.isBigNumber('amount', amount); - const self = (this as any) as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [ - assetData, - amount, - ]); + const self = this as any as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, + amount + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -555,7 +394,7 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ForwarderContract; + const self = this as any as ForwarderContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -565,125 +404,76 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ForwarderContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ForwarderContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, }; public marketSellOrdersWithEth = { async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketSellOrdersWithEth.estimateGasAsync.bind( - self, - orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketSellOrdersWithEth.estimateGasAsync.bind( + self, + orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, @@ -691,145 +481,80 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const txHashPromise = self.marketSellOrdersWithEth.sendTransactionAsync( - orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase(), - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = this as any as ForwarderContract; + const txHashPromise = self.marketSellOrdersWithEth.sendTransactionAsync(orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - [ - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }, - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - } - ] + ): Promise<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] > { assert.isArray('orders', orders); assert.isArray('signatures', signatures); @@ -845,11 +570,14 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], - ); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -858,103 +586,69 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - ); + const abiEncoder = self._lookupAbiEncoder('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - [ - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - }, - { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - } - ] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - signatures: string[], - feeOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - feeSignatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + signatures: string[], + feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeSignatures: string[], + feePercentage: BigNumber, + feeRecipient: string, + ): string { assert.isArray('orders', orders); assert.isArray('signatures', signatures); assert.isArray('feeOrders', feeOrders); assert.isArray('feeSignatures', feeSignatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', - [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], - ); + const self = this as any as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -962,41 +656,51 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as ForwarderContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as ForwarderContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1006,8 +710,9 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1016,35 +721,35 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, - _exchange: string, - _zrxAssetData: string, - _wethAssetData: string, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _exchange: string, + _zrxAssetData: string, + _wethAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1057,20 +762,11 @@ export class ForwarderContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return ForwarderContract.deployAsync( - bytecode, - abi, - provider, - txDefaults, - logDecodeDependenciesAbiOnly, - _exchange, - _zrxAssetData, - _wethAssetData, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return ForwarderContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _exchange, +_zrxAssetData, +_wethAssetData +); } public static async deployAsync( bytecode: string, @@ -1078,9 +774,9 @@ export class ForwarderContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _exchange: string, - _zrxAssetData: string, - _wethAssetData: string, + _exchange: string, + _zrxAssetData: string, + _wethAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1090,17 +786,26 @@ export class ForwarderContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange, _zrxAssetData, _wethAssetData] = BaseContract._formatABIDataItemList( + [_exchange, +_zrxAssetData, +_wethAssetData +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange, _zrxAssetData, _wethAssetData], + [_exchange, +_zrxAssetData, +_wethAssetData +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange, _zrxAssetData, _wethAssetData]); + const txData = deployInfo.encode(bytecode, [_exchange, +_zrxAssetData, +_wethAssetData +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1108,22 +813,21 @@ export class ForwarderContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`Forwarder successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ForwarderContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); - contractInstance.constructorArgs = [_exchange, _zrxAssetData, _wethAssetData]; + const contractInstance = new ForwarderContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + contractInstance.constructorArgs = [_exchange, +_zrxAssetData, +_wethAssetData +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -1178,7 +882,7 @@ export class ForwarderContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'makerAssetFillAmount', @@ -1240,7 +944,7 @@ export class ForwarderContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'feeSignatures', @@ -1277,7 +981,7 @@ export class ForwarderContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, { name: 'feeOrderFillResults', @@ -1299,14 +1003,14 @@ export class ForwarderContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: true, stateMutability: 'payable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1319,14 +1023,16 @@ export class ForwarderContract extends BaseContract { }, ], name: 'withdrawAsset', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -1338,7 +1044,7 @@ export class ForwarderContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1393,7 +1099,7 @@ export class ForwarderContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'signatures', @@ -1451,7 +1157,7 @@ export class ForwarderContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'feeSignatures', @@ -1488,7 +1194,7 @@ export class ForwarderContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, { name: 'feeOrderFillResults', @@ -1510,14 +1216,14 @@ export class ForwarderContract extends BaseContract { name: 'takerFeePaid', type: 'uint256', }, - ], + ] }, ], payable: true, stateMutability: 'payable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1526,12 +1232,13 @@ export class ForwarderContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_exchange', @@ -1546,14 +1253,17 @@ export class ForwarderContract extends BaseContract { type: 'bytes', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: true, stateMutability: 'payable', type: 'fallback', @@ -1561,16 +1271,11 @@ export class ForwarderContract extends BaseContract { ] as ContractAbi; return abi; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { super('Forwarder', ForwarderContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts index 13b92cc118..0f9485156a 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,30 +23,38 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class IAssetProxyContract extends BaseContract { public addAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -54,41 +62,51 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as IAssetProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -98,8 +116,9 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -108,47 +127,54 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -156,41 +182,51 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as IAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -200,8 +236,9 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -210,24 +247,24 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -235,30 +272,33 @@ export class IAssetProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( + self, target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -267,59 +307,57 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as IAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( - target.toLowerCase(), - index, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as IAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), + index + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -330,11 +368,10 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -343,26 +380,27 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string, index: BigNumber): string { + getABIEncodedTransactionData( + target: string, + index: BigNumber, + ): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = (this as any) as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'removeAuthorizedAddressAtIndex(address,uint256)', - [target.toLowerCase(), index], - ); + const self = this as any as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); return abiEncodedTransactionData; }, }; @@ -372,34 +410,39 @@ export class IAssetProxyContract extends BaseContract { from: string, to: string, amount: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, + from.toLowerCase(), + to.toLowerCase(), + amount + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, assetData, from.toLowerCase(), to.toLowerCase(), - amount, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, assetData, from.toLowerCase(), to.toLowerCase(), amount), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + amount + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetData: string, @@ -410,29 +453,27 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); - const self = (this as any) as IAssetProxyContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - assetData, - from.toLowerCase(), - to.toLowerCase(), - amount, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); + const self = this as any as IAssetProxyContract; + const txHashPromise = self.transferFrom.sendTransactionAsync(assetData, + from.toLowerCase(), + to.toLowerCase(), + amount + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( assetData: string, @@ -441,31 +482,30 @@ export class IAssetProxyContract extends BaseContract { amount: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ - assetData, - from.toLowerCase(), - to.toLowerCase(), - amount, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, + from.toLowerCase(), + to.toLowerCase(), + amount + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetData: string, @@ -474,7 +514,8 @@ export class IAssetProxyContract extends BaseContract { amount: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetData', assetData); assert.isString('from', from); assert.isString('to', to); @@ -487,13 +528,12 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ - assetData, - from.toLowerCase(), - to.toLowerCase(), - amount, - ]); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, + from.toLowerCase(), + to.toLowerCase(), + amount + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -502,33 +542,42 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetData: string, from: string, to: string, amount: BigNumber): string { + getABIEncodedTransactionData( + assetData: string, + from: string, + to: string, + amount: BigNumber, + ): string { assert.isString('assetData', assetData); assert.isString('from', from); assert.isString('to', to); assert.isBigNumber('amount', amount); - const self = (this as any) as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'transferFrom(bytes,address,address,uint256)', - [assetData, from.toLowerCase(), to.toLowerCase(), amount], - ); + const self = this as any as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, + from.toLowerCase(), + to.toLowerCase(), + amount + ]); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -537,7 +586,7 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; + const self = this as any as IAssetProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -547,26 +596,30 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as IAssetProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as IAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -575,7 +628,7 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; + const self = this as any as IAssetProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -585,44 +638,51 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as IAssetProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as IAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -630,41 +690,51 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as IAssetProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as IAssetProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -674,8 +744,9 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -684,32 +755,32 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -722,11 +793,8 @@ export class IAssetProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return IAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return IAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); } public static async deployAsync( bytecode: string, @@ -743,13 +811,17 @@ export class IAssetProxyContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -757,22 +829,18 @@ export class IAssetProxyContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`IAssetProxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new IAssetProxyContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); + const contractInstance = new IAssetProxyContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -781,12 +849,13 @@ export class IAssetProxyContract extends BaseContract { }, ], name: 'addAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -795,12 +864,13 @@ export class IAssetProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -813,12 +883,13 @@ export class IAssetProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -839,14 +910,16 @@ export class IAssetProxyContract extends BaseContract { }, ], name: 'transferFrom', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getProxyId', outputs: [ { @@ -858,9 +931,10 @@ export class IAssetProxyContract extends BaseContract { stateMutability: 'pure', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getAuthorizedAddresses', outputs: [ { @@ -872,7 +946,7 @@ export class IAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -881,7 +955,8 @@ export class IAssetProxyContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', @@ -889,16 +964,11 @@ export class IAssetProxyContract extends BaseContract { ] as ContractAbi; return abi; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { super('IAssetProxy', IAssetProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts index fd016262d4..a579445d03 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,6 +23,7 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -34,7 +35,8 @@ export class IValidatorContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); @@ -46,12 +48,11 @@ export class IValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IValidatorContract; - const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const self = this as any as IValidatorContract; + const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -60,36 +61,38 @@ export class IValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { + getABIEncodedTransactionData( + hash: string, + signerAddress: string, + signature: string, + ): string { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); - const self = (this as any) as IValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const self = this as any as IValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, + signerAddress.toLowerCase(), + signature + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -102,11 +105,8 @@ export class IValidatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return IValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return IValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); } public static async deployAsync( bytecode: string, @@ -123,13 +123,17 @@ export class IValidatorContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -137,22 +141,18 @@ export class IValidatorContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`IValidator successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new IValidatorContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); + const contractInstance = new IValidatorContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -182,16 +182,11 @@ export class IValidatorContract extends BaseContract { ] as ContractAbi; return abi; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { super('IValidator', IValidatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts index 20a8250ba8..df213acdc8 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,6 +23,7 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -33,7 +34,8 @@ export class IWalletContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -44,8 +46,10 @@ export class IWalletContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as IWalletContract; - const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [hash, signature]); + const self = this as any as IWalletContract; + const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [hash, + signature + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -54,34 +58,35 @@ export class IWalletContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(hash: string, signature: string): string { + getABIEncodedTransactionData( + hash: string, + signature: string, + ): string { assert.isString('hash', hash); assert.isString('signature', signature); - const self = (this as any) as IWalletContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [ - hash, - signature, - ]); + const self = this as any as IWalletContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [hash, + signature + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -94,11 +99,8 @@ export class IWalletContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return IWalletContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return IWalletContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); } public static async deployAsync( bytecode: string, @@ -115,13 +117,17 @@ export class IWalletContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -129,22 +135,18 @@ export class IWalletContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`IWallet successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new IWalletContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); + const contractInstance = new IWalletContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -170,16 +172,11 @@ export class IWalletContract extends BaseContract { ] as ContractAbi; return abi; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { super('IWallet', IWalletContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts index 92628c0c03..47aca21b22 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -57,12 +54,18 @@ export interface MultiAssetProxyAssetProxyRegisteredEventArgs extends DecodedLog assetProxy: string; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class MultiAssetProxyContract extends BaseContract { public assetProxies = { - async callAsync(index_0: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + index_0: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -72,8 +75,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -82,45 +86,54 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('assetProxies(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 + ]); return abiEncodedTransactionData; }, }; public addAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -128,41 +141,51 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as MultiAssetProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -172,8 +195,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -182,24 +206,24 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -208,7 +232,8 @@ export class MultiAssetProxyContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -218,8 +243,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0 + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -228,22 +254,24 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorities(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: BigNumber): string { + getABIEncodedTransactionData( + index_0: BigNumber, + ): string { assert.isBigNumber('index_0', index_0); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0 + ]); return abiEncodedTransactionData; }, }; @@ -252,7 +280,8 @@ export class MultiAssetProxyContract extends BaseContract { assetProxyId: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxyId', assetProxyId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -262,8 +291,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -272,45 +302,54 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetProxyId: string): string { + getABIEncodedTransactionData( + assetProxyId: string, + ): string { assert.isString('assetProxyId', assetProxyId); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId + ]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind( + self, + target.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -318,41 +357,51 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = this as any as MultiAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + target: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('target', target); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + target: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -362,8 +411,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -372,29 +422,33 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string): string { + getABIEncodedTransactionData( + target: string, + ): string { assert.isString('target', target); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -403,7 +457,7 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; + const self = this as any as MultiAssetProxyContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -413,20 +467,20 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as MultiAssetProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as MultiAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -435,30 +489,33 @@ export class MultiAssetProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( + self, target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -467,59 +524,57 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as MultiAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( - target.toLowerCase(), - index, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as MultiAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), + index + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -530,11 +585,10 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -543,31 +597,36 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string, index: BigNumber): string { + getABIEncodedTransactionData( + target: string, + index: BigNumber, + ): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'removeAuthorizedAddressAtIndex(address,uint256)', - [target.toLowerCase(), index], - ); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), + index + ]); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -576,7 +635,7 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; + const self = this as any as MultiAssetProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -586,20 +645,20 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as MultiAssetProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as MultiAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, @@ -609,7 +668,8 @@ export class MultiAssetProxyContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -619,8 +679,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -629,47 +690,54 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorized(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ - index_0.toLowerCase(), - ]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public registerAssetProxy = { - async sendTransactionAsync(assetProxy: string, txData?: Partial | undefined): Promise { - assert.isString('assetProxy', assetProxy); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.registerAssetProxy.estimateGasAsync.bind(self, assetProxy.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + assetProxy: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('assetProxy', assetProxy); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.registerAssetProxy.estimateGasAsync.bind( + self, + assetProxy.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetProxy: string, @@ -677,45 +745,51 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxy', assetProxy); - const self = (this as any) as MultiAssetProxyContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetProxy', assetProxy); + const self = this as any as MultiAssetProxyContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(assetProxy: string, txData?: Partial | undefined): Promise { - assert.isString('assetProxy', assetProxy); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + assetProxy: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('assetProxy', assetProxy); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetProxy: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxy', assetProxy); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -725,8 +799,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -735,29 +810,33 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(assetProxy: string): string { + getABIEncodedTransactionData( + assetProxy: string, + ): string { assert.isString('assetProxy', assetProxy); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [ - assetProxy.toLowerCase(), - ]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -766,7 +845,7 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; + const self = this as any as MultiAssetProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -776,44 +855,51 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as MultiAssetProxyContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as MultiAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind( + self, + newOwner.toLowerCase() + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -821,41 +907,51 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as MultiAssetProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = this as any as MultiAssetProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + newOwner: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('newOwner', newOwner); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + newOwner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -865,8 +961,9 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const self = this as any as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -875,33 +972,33 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(newOwner: string): string { + getABIEncodedTransactionData( + newOwner: string, + ): string { assert.isString('newOwner', newOwner); - const self = (this as any) as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); + const self = this as any as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -914,11 +1011,8 @@ export class MultiAssetProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return MultiAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return MultiAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); } public static async deployAsync( bytecode: string, @@ -935,13 +1029,17 @@ export class MultiAssetProxyContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -949,22 +1047,18 @@ export class MultiAssetProxyContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`MultiAssetProxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new MultiAssetProxyContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); + const contractInstance = new MultiAssetProxyContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -983,7 +1077,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -992,12 +1086,13 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'addAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1016,7 +1111,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1035,7 +1130,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1044,14 +1139,16 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddress', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'owner', outputs: [ { @@ -1063,7 +1160,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1076,14 +1173,16 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getProxyId', outputs: [ { @@ -1095,7 +1194,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1114,7 +1213,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1123,14 +1222,16 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'registerAssetProxy', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'getAuthorizedAddresses', outputs: [ { @@ -1142,7 +1243,7 @@ export class MultiAssetProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1151,19 +1252,22 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'transferOwnership', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -1178,10 +1282,11 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'AuthorizedAddressAdded', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1196,10 +1301,11 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'AuthorizedAddressRemoved', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1214,7 +1320,8 @@ export class MultiAssetProxyContract extends BaseContract { }, ], name: 'AssetProxyRegistered', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1288,27 +1395,15 @@ export class MultiAssetProxyContract extends BaseContract { ); return logs; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { - super( - 'MultiAssetProxy', - MultiAssetProxyContract.ABI(), - address, - supportedProvider, - txDefaults, - logDecodeDependencies, - ); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('MultiAssetProxy', MultiAssetProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( MultiAssetProxyContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts index 2183ee494f..3f2843d6ed 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,44 +23,20 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class OrderValidatorContract extends BaseContract { public getOrderAndTraderInfo = { async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAddress: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - [ - { orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, - { - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - } - ] + ): Promise<[{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}, {makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}] > { + assert.isString('takerAddress', takerAddress); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -70,11 +46,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments( - 'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', - [order, takerAddress.toLowerCase()], - ); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, + takerAddress.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -83,57 +58,27 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', - ); + const abiEncoder = self._lookupAbiEncoder('getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - [ - { orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, - { - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - } - ] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}, {makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - takerAddress: string, - ): string { + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + takerAddress: string, + ): string { + assert.isString('takerAddress', takerAddress); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', - [order, takerAddress.toLowerCase()], - ); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, + takerAddress.toLowerCase() + ]); return abiEncodedTransactionData; }, }; @@ -143,7 +88,8 @@ export class OrderValidatorContract extends BaseContract { assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[BigNumber, BigNumber]> { + ): Promise<[BigNumber, BigNumber] + > { assert.isString('target', target); assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -154,11 +100,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [ - target.toLowerCase(), - assetData, - ]); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [target.toLowerCase(), + assetData + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -167,62 +112,37 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getBalanceAndAllowance(address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber] + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string, assetData: string): string { + getABIEncodedTransactionData( + target: string, + assetData: string, + ): string { assert.isString('target', target); assert.isString('assetData', assetData); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [ - target.toLowerCase(), - assetData, - ]); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [target.toLowerCase(), + assetData + ]); return abiEncodedTransactionData; }, }; public getOrdersAndTradersInfo = { async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAddresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - [ - Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, - Array<{ - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - }> - ] + ): Promise<[Array<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}>, Array<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}>] > { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); @@ -234,11 +154,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments( - 'getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', - [orders, takerAddresses], - ); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, + takerAddresses + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -247,91 +166,37 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', - ); + const abiEncoder = self._lookupAbiEncoder('getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - [ - Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, - Array<{ - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - }> - ] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[Array<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}>, Array<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}>] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAddresses: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAddresses: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', - [orders, takerAddresses], - ); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, + takerAddresses + ]); return abiEncodedTransactionData; }, }; public getTradersInfo = { async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, takerAddresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - Array<{ - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - }> + ): Promise > { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); @@ -343,11 +208,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments( - 'getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', - [orders, takerAddresses], - ); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, + takerAddresses + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -356,55 +220,27 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', - ); + const abiEncoder = self._lookupAbiEncoder('getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - Array<{ - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - }> - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }>, - takerAddresses: string[], - ): string { + orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + takerAddresses: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', - [orders, takerAddresses], - ); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, + takerAddresses + ]); return abiEncodedTransactionData; }, }; @@ -414,7 +250,8 @@ export class OrderValidatorContract extends BaseContract { tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('token', token); assert.isBigNumber('tokenId', tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -425,11 +262,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [ - token.toLowerCase(), - tokenId, - ]); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [token.toLowerCase(), + tokenId + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -438,26 +274,27 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getERC721TokenOwner(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(token: string, tokenId: BigNumber): string { + getABIEncodedTransactionData( + token: string, + tokenId: BigNumber, + ): string { assert.isString('token', token); assert.isBigNumber('tokenId', tokenId); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [ - token.toLowerCase(), - tokenId, - ]); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [token.toLowerCase(), + tokenId + ]); return abiEncodedTransactionData; }, }; @@ -467,7 +304,8 @@ export class OrderValidatorContract extends BaseContract { assetData: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[BigNumber[], BigNumber[]]> { + ): Promise<[BigNumber[], BigNumber[]] + > { assert.isString('target', target); assert.isArray('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -478,11 +316,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [ - target.toLowerCase(), - assetData, - ]); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [target.toLowerCase(), + assetData + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -491,58 +328,39 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getBalancesAndAllowances(address,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[BigNumber[], BigNumber[]]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[BigNumber[], BigNumber[]] + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(target: string, assetData: string[]): string { + getABIEncodedTransactionData( + target: string, + assetData: string[], + ): string { assert.isString('target', target); assert.isArray('assetData', assetData); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [ - target.toLowerCase(), - assetData, - ]); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [target.toLowerCase(), + assetData + ]); return abiEncodedTransactionData; }, }; public getTraderInfo = { async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, takerAddress: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - }> { + ): Promise<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber} + > { + assert.isString('takerAddress', takerAddress); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -552,11 +370,10 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as OrderValidatorContract; - const encodedData = self._strictEncodeArguments( - 'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', - [order, takerAddress.toLowerCase()], - ); + const self = this as any as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, + takerAddress.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -565,62 +382,37 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', - ); + const abiEncoder = self._lookupAbiEncoder('getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerBalance: BigNumber; - makerAllowance: BigNumber; - takerBalance: BigNumber; - takerAllowance: BigNumber; - makerZrxBalance: BigNumber; - makerZrxAllowance: BigNumber; - takerZrxBalance: BigNumber; - takerZrxAllowance: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber} + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - }, - takerAddress: string, - ): string { + order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + takerAddress: string, + ): string { + assert.isString('takerAddress', takerAddress); - const self = (this as any) as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', - [order, takerAddress.toLowerCase()], - ); + const self = this as any as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, + takerAddress.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - public static async deployFrom0xArtifactAsync( +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, - _exchange: string, - _zrxAssetData: string, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + _exchange: string, + _zrxAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -633,19 +425,10 @@ export class OrderValidatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return OrderValidatorContract.deployAsync( - bytecode, - abi, - provider, - txDefaults, - logDecodeDependenciesAbiOnly, - _exchange, - _zrxAssetData, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return OrderValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _exchange, +_zrxAssetData +); } public static async deployAsync( bytecode: string, @@ -653,8 +436,8 @@ export class OrderValidatorContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _exchange: string, - _zrxAssetData: string, + _exchange: string, + _zrxAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -664,17 +447,23 @@ export class OrderValidatorContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange, _zrxAssetData] = BaseContract._formatABIDataItemList( + [_exchange, +_zrxAssetData +] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange, _zrxAssetData], + [_exchange, +_zrxAssetData +], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange, _zrxAssetData]); + const txData = deployInfo.encode(bytecode, [_exchange, +_zrxAssetData +]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -682,22 +471,20 @@ export class OrderValidatorContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`OrderValidator successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new OrderValidatorContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); - contractInstance.constructorArgs = [_exchange, _zrxAssetData]; + const contractInstance = new OrderValidatorContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + contractInstance.constructorArgs = [_exchange, +_zrxAssetData +]; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -752,7 +539,7 @@ export class OrderValidatorContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAddress', @@ -777,7 +564,7 @@ export class OrderValidatorContract extends BaseContract { name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ], + ] }, { name: 'traderInfo', @@ -815,14 +602,14 @@ export class OrderValidatorContract extends BaseContract { name: 'takerZrxAllowance', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -849,7 +636,7 @@ export class OrderValidatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -904,7 +691,7 @@ export class OrderValidatorContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAddresses', @@ -929,7 +716,7 @@ export class OrderValidatorContract extends BaseContract { name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ], + ] }, { name: 'tradersInfo', @@ -967,14 +754,14 @@ export class OrderValidatorContract extends BaseContract { name: 'takerZrxAllowance', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1029,7 +816,7 @@ export class OrderValidatorContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAddresses', @@ -1074,14 +861,14 @@ export class OrderValidatorContract extends BaseContract { name: 'takerZrxAllowance', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1104,7 +891,7 @@ export class OrderValidatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1131,7 +918,7 @@ export class OrderValidatorContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1186,7 +973,7 @@ export class OrderValidatorContract extends BaseContract { name: 'takerAssetData', type: 'bytes', }, - ], + ] }, { name: 'takerAddress', @@ -1231,14 +1018,14 @@ export class OrderValidatorContract extends BaseContract { name: 'takerZrxAllowance', type: 'uint256', }, - ], + ] }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_exchange', @@ -1249,7 +1036,8 @@ export class OrderValidatorContract extends BaseContract { type: 'bytes', }, ], - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'constructor', @@ -1257,23 +1045,11 @@ export class OrderValidatorContract extends BaseContract { ] as ContractAbi; return abi; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { - super( - 'OrderValidator', - OrderValidatorContract.ABI(), - address, - supportedProvider, - txDefaults, - logDecodeDependencies, - ); + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + super('OrderValidator', OrderValidatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts index fdf60d3ea7..337f5b2078 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -66,12 +63,17 @@ export interface WETH9WithdrawalEventArgs extends DecodedLogArgs { _value: BigNumber; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class WETH9Contract extends BaseContract { public name = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -80,7 +82,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; + const self = this as any as WETH9Contract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -90,45 +92,55 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as WETH9Contract; + getABIEncodedTransactionData( + ): string { + const self = this as any as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, }; public approve = { - async sendTransactionAsync(guy: string, wad: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('guy', guy); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind(self, guy.toLowerCase(), wad), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + guy: string, + wad: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('guy', guy); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), + wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind( + self, + guy.toLowerCase(), + wad + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( guy: string, @@ -137,48 +149,57 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('guy', guy); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const txHashPromise = self.approve.sendTransactionAsync(guy.toLowerCase(), wad, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('guy', guy); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const txHashPromise = self.approve.sendTransactionAsync(guy.toLowerCase(), + wad + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(guy: string, wad: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('guy', guy); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + guy: string, + wad: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('guy', guy); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), + wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( guy: string, wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('guy', guy); assert.isBigNumber('wad', wad); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -189,8 +210,10 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), + wad + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -199,31 +222,36 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(guy: string, wad: BigNumber): string { + getABIEncodedTransactionData( + guy: string, + wad: BigNumber, + ): string { assert.isString('guy', guy); assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ - guy.toLowerCase(), - wad, - ]); + const self = this as any as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), + wad + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -232,7 +260,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; + const self = this as any as WETH9Contract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -242,20 +270,20 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as WETH9Contract; + getABIEncodedTransactionData( + ): string { + const self = this as any as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -265,32 +293,36 @@ export class WETH9Contract extends BaseContract { src: string, dst: string, wad: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('src', src); - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + assert.isString('src', src); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), + dst.toLowerCase(), + wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, src.toLowerCase(), dst.toLowerCase(), - wad, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, src.toLowerCase(), dst.toLowerCase(), wad), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + wad + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( src: string, @@ -300,27 +332,25 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('src', src); - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - src.toLowerCase(), - dst.toLowerCase(), - wad, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('src', src); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const txHashPromise = self.transferFrom.sendTransactionAsync(src.toLowerCase(), + dst.toLowerCase(), + wad + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( src: string, @@ -328,29 +358,28 @@ export class WETH9Contract extends BaseContract { wad: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('src', src); - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - src.toLowerCase(), - dst.toLowerCase(), - wad, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('src', src); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), + dst.toLowerCase(), + wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( src: string, @@ -358,7 +387,8 @@ export class WETH9Contract extends BaseContract { wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('src', src); assert.isString('dst', dst); assert.isBigNumber('wad', wad); @@ -370,12 +400,11 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - src.toLowerCase(), - dst.toLowerCase(), - wad, - ]); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), + dst.toLowerCase(), + wad + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -384,51 +413,60 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(src: string, dst: string, wad: BigNumber): string { + getABIEncodedTransactionData( + src: string, + dst: string, + wad: BigNumber, + ): string { assert.isString('src', src); assert.isString('dst', dst); assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - src.toLowerCase(), - dst.toLowerCase(), - wad, - ]); + const self = this as any as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), + dst.toLowerCase(), + wad + ]); return abiEncodedTransactionData; }, }; public withdraw = { - async sendTransactionAsync(wad: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.withdraw.estimateGasAsync.bind(self, wad), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + wad: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.withdraw.estimateGasAsync.bind( + self, + wad + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( wad: BigNumber, @@ -436,41 +474,51 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const txHashPromise = self.withdraw.sendTransactionAsync(wad, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const txHashPromise = self.withdraw.sendTransactionAsync(wad + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(wad: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + wad: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + wad: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isBigNumber('wad', wad); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -480,8 +528,9 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -490,27 +539,33 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('withdraw(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(wad: BigNumber): string { + getABIEncodedTransactionData( + wad: BigNumber, + ): string { assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('withdraw(uint256)', [wad]); + const self = this as any as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('withdraw(uint256)', [wad + ]); return abiEncodedTransactionData; }, }; public decimals = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -519,7 +574,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; + const self = this as any as WETH9Contract; const encodedData = self._strictEncodeArguments('decimals()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -529,20 +584,20 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decimals()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as WETH9Contract; + getABIEncodedTransactionData( + ): string { + const self = this as any as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); return abiEncodedTransactionData; }, @@ -552,7 +607,8 @@ export class WETH9Contract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -562,8 +618,9 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase()]); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -572,29 +629,33 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string): string { + getABIEncodedTransactionData( + index_0: string, + ): string { assert.isString('index_0', index_0); - const self = (this as any) as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [ - index_0.toLowerCase(), - ]); + const self = this as any as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -603,7 +664,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; + const self = this as any as WETH9Contract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -613,45 +674,55 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as WETH9Contract; + getABIEncodedTransactionData( + ): string { + const self = this as any as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, }; public transfer = { - async sendTransactionAsync(dst: string, wad: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind(self, dst.toLowerCase(), wad), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + dst: string, + wad: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), + wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind( + self, + dst.toLowerCase(), + wad + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( dst: string, @@ -660,48 +731,57 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const txHashPromise = self.transfer.sendTransactionAsync(dst.toLowerCase(), wad, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const txHashPromise = self.transfer.sendTransactionAsync(dst.toLowerCase(), + wad + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(dst: string, wad: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + dst: string, + wad: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), + wad + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( dst: string, wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('dst', dst); assert.isBigNumber('wad', wad); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -712,8 +792,10 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), + wad + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -722,87 +804,98 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(dst: string, wad: BigNumber): string { + getABIEncodedTransactionData( + dst: string, + wad: BigNumber, + ): string { assert.isString('dst', dst); assert.isBigNumber('wad', wad); - const self = (this as any) as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ - dst.toLowerCase(), - wad, - ]); + const self = this as any as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), + wad + ]); return abiEncodedTransactionData; }, }; public deposit = { - async sendTransactionAsync(txData?: Partial | undefined): Promise { - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('deposit()', []); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.deposit.estimateGasAsync.bind(self), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync( + txData?: Partial | undefined, + ): Promise { + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('deposit()', []); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.deposit.estimateGasAsync.bind( + self, + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - const self = (this as any) as WETH9Contract; - const txHashPromise = self.deposit.sendTransactionAsync(txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const self = this as any as WETH9Contract; + const txHashPromise = self.deposit.sendTransactionAsync(txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(txData?: Partial | undefined): Promise { - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('deposit()', []); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + txData?: Partial | undefined, + ): Promise { + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('deposit()', []); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -811,7 +904,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; + const self = this as any as WETH9Contract; const encodedData = self._strictEncodeArguments('deposit()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -821,20 +914,20 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('deposit()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as WETH9Contract; + getABIEncodedTransactionData( + ): string { + const self = this as any as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('deposit()', []); return abiEncodedTransactionData; }, @@ -845,7 +938,8 @@ export class WETH9Contract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -856,11 +950,10 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as WETH9Contract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const self = this as any as WETH9Contract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [index_0.toLowerCase(), + index_1.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -869,35 +962,36 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(index_0: string, index_1: string): string { + getABIEncodedTransactionData( + index_0: string, + index_1: string, + ): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = (this as any) as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const self = this as any as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [index_0.toLowerCase(), + index_1.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -910,11 +1004,8 @@ export class WETH9Contract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return WETH9Contract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return WETH9Contract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); } public static async deployAsync( bytecode: string, @@ -931,13 +1022,17 @@ export class WETH9Contract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -945,24 +1040,21 @@ export class WETH9Contract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`WETH9 successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new WETH9Contract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); + const contractInstance = new WETH9Contract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'name', outputs: [ { @@ -974,7 +1066,7 @@ export class WETH9Contract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -997,9 +1089,10 @@ export class WETH9Contract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'totalSupply', outputs: [ { @@ -1011,7 +1104,7 @@ export class WETH9Contract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1038,7 +1131,7 @@ export class WETH9Contract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1047,14 +1140,16 @@ export class WETH9Contract extends BaseContract { }, ], name: 'withdraw', - outputs: [], + outputs: [ + ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'decimals', outputs: [ { @@ -1066,7 +1161,7 @@ export class WETH9Contract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1085,9 +1180,10 @@ export class WETH9Contract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'symbol', outputs: [ { @@ -1099,7 +1195,7 @@ export class WETH9Contract extends BaseContract { stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1122,16 +1218,18 @@ export class WETH9Contract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, - inputs: [], + inputs: [ + ], name: 'deposit', - outputs: [], + outputs: [ + ], payable: true, stateMutability: 'payable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1154,14 +1252,16 @@ export class WETH9Contract extends BaseContract { stateMutability: 'view', type: 'function', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: true, stateMutability: 'payable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -1181,10 +1281,11 @@ export class WETH9Contract extends BaseContract { }, ], name: 'Approval', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1204,10 +1305,11 @@ export class WETH9Contract extends BaseContract { }, ], name: 'Transfer', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1222,10 +1324,11 @@ export class WETH9Contract extends BaseContract { }, ], name: 'Deposit', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1240,7 +1343,8 @@ export class WETH9Contract extends BaseContract { }, ], name: 'Withdrawal', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1314,12 +1418,7 @@ export class WETH9Contract extends BaseContract { ); return logs; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { super('WETH9', WETH9Contract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1327,7 +1426,7 @@ export class WETH9Contract extends BaseContract { this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts index d980c02253..04b7f16718 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts @@ -1,14 +1,11 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, +import { BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; + SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -31,7 +28,9 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable -export type ZRXTokenEventArgs = ZRXTokenTransferEventArgs | ZRXTokenApprovalEventArgs; +export type ZRXTokenEventArgs = + | ZRXTokenTransferEventArgs + | ZRXTokenApprovalEventArgs; export enum ZRXTokenEvents { Transfer = 'Transfer', @@ -50,12 +49,17 @@ export interface ZRXTokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ZRXTokenContract extends BaseContract { public name = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -64,7 +68,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; + const self = this as any as ZRXTokenContract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -74,20 +78,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ZRXTokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, @@ -96,30 +100,33 @@ export class ZRXTokenContract extends BaseContract { async sendTransactionAsync( _spender: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind( + self, _spender.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _spender: string, @@ -128,55 +135,57 @@ export class ZRXTokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _spender: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _spender: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -187,11 +196,10 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -200,31 +208,36 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_spender: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _spender: string, + _value: BigNumber, + ): string { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ - _spender.toLowerCase(), - _value, - ]); + const self = this as any as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -233,7 +246,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; + const self = this as any as ZRXTokenContract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -243,20 +256,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ZRXTokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -266,32 +279,36 @@ export class ZRXTokenContract extends BaseContract { _from: string, _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind( + self, _from.toLowerCase(), _to.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -301,27 +318,25 @@ export class ZRXTokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _value, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), + _to.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -329,29 +344,28 @@ export class ZRXTokenContract extends BaseContract { _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -359,7 +373,8 @@ export class ZRXTokenContract extends BaseContract { _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); @@ -371,12 +386,11 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -385,33 +399,39 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _from: string, + _to: string, + _value: BigNumber, + ): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const self = this as any as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), + _to.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; public decimals = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -420,7 +440,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; + const self = this as any as ZRXTokenContract; const encodedData = self._strictEncodeArguments('decimals()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -430,20 +450,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decimals()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ZRXTokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); return abiEncodedTransactionData; }, @@ -453,7 +473,8 @@ export class ZRXTokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -463,8 +484,9 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -473,27 +495,33 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string): string { + getABIEncodedTransactionData( + _owner: string, + ): string { assert.isString('_owner', _owner); - const self = (this as any) as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const self = this as any as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() + ]); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -502,7 +530,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; + const self = this as any as ZRXTokenContract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -512,20 +540,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(): string { - const self = (this as any) as ZRXTokenContract; + getABIEncodedTransactionData( + ): string { + const self = this as any as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, @@ -534,27 +562,33 @@ export class ZRXTokenContract extends BaseContract { async sendTransactionAsync( _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind( + self, + _to.toLowerCase(), + _value + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -563,48 +597,57 @@ export class ZRXTokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), + _value + , txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync( + _to: string, + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -615,8 +658,10 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -625,26 +670,27 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_to: string, _value: BigNumber): string { + getABIEncodedTransactionData( + _to: string, + _value: BigNumber, + ): string { assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = (this as any) as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ - _to.toLowerCase(), - _value, - ]); + const self = this as any as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), + _value + ]); return abiEncodedTransactionData; }, }; @@ -654,7 +700,8 @@ export class ZRXTokenContract extends BaseContract { _spender: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_spender', _spender); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -665,11 +712,10 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = (this as any) as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const self = this as any as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), + _spender.toLowerCase() + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -678,35 +724,36 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData(_owner: string, _spender: string): string { + getABIEncodedTransactionData( + _owner: string, + _spender: string, + ): string { assert.isString('_owner', _owner); assert.isString('_spender', _spender); - const self = (this as any) as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const self = this as any as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), + _spender.toLowerCase() + ]); return abiEncodedTransactionData; }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( +private readonly _subscriptionManager: SubscriptionManager; +public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -719,11 +766,8 @@ export class ZRXTokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); - return ZRXTokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + return ZRXTokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); } public static async deployAsync( bytecode: string, @@ -740,13 +784,17 @@ export class ZRXTokenContract extends BaseContract { ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); + [] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [], + BaseContract._bigNumberToString, + ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, + {data: txData}, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -754,24 +802,21 @@ export class ZRXTokenContract extends BaseContract { logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ZRXToken successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ZRXTokenContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); + const contractInstance = new ZRXTokenContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); contractInstance.constructorArgs = []; return contractInstance; } + /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'name', outputs: [ { @@ -782,7 +827,7 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: false, inputs: [ { @@ -804,9 +849,10 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'totalSupply', outputs: [ { @@ -817,7 +863,7 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: false, inputs: [ { @@ -843,9 +889,10 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'decimals', outputs: [ { @@ -856,7 +903,7 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: true, inputs: [ { @@ -874,9 +921,10 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: true, - inputs: [], + inputs: [ + ], name: 'symbol', outputs: [ { @@ -887,7 +935,7 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: false, inputs: [ { @@ -909,7 +957,7 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { + { constant: true, inputs: [ { @@ -931,13 +979,15 @@ export class ZRXTokenContract extends BaseContract { payable: false, type: 'function', }, - { - inputs: [], - outputs: [], + { + inputs: [ + ], + outputs: [ + ], payable: false, type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -957,10 +1007,11 @@ export class ZRXTokenContract extends BaseContract { }, ], name: 'Transfer', - outputs: [], + outputs: [ + ], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -980,7 +1031,8 @@ export class ZRXTokenContract extends BaseContract { }, ], name: 'Approval', - outputs: [], + outputs: [ + ], type: 'event', }, ] as ContractAbi; @@ -1054,12 +1106,7 @@ export class ZRXTokenContract extends BaseContract { ); return logs; } - constructor( - address: string, - supportedProvider: SupportedProvider, - txDefaults?: Partial, - logDecodeDependencies?: { [contractName: string]: ContractAbi }, - ) { + constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { super('ZRXToken', ZRXTokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1067,7 +1114,7 @@ export class ZRXTokenContract extends BaseContract { this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align From a8939d3edaa4556fc887aa91347cb8b356b20ab8 Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Mon, 29 Jul 2019 12:28:28 +0200 Subject: [PATCH 051/162] Updated expected typescript output for abi-gen cli tests --- .../expected-output/typescript/abi_gen_dummy.ts | 17 +++++++---------- .../expected-output/typescript/lib_dummy.ts | 17 +++++++---------- .../typescript/test_lib_dummy.ts | 17 +++++++---------- 3 files changed, 21 insertions(+), 30 deletions(-) diff --git a/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts index 0f7348cb9f..0c7af7906f 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts @@ -29,7 +29,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable export type AbiGenDummyEventArgs = AbiGenDummyWithdrawalEventArgs | AbiGenDummyAnEventEventArgs; @@ -1023,7 +1022,7 @@ export class AbiGenDummyContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1036,20 +1035,18 @@ export class AbiGenDummyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return AbiGenDummyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return AbiGenDummyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1077,7 +1074,7 @@ export class AbiGenDummyContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts index 7f41b6deae..38469721ec 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts @@ -21,7 +21,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable /* istanbul ignore next */ @@ -32,7 +31,7 @@ export class LibDummyContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -45,20 +44,18 @@ export class LibDummyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return LibDummyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return LibDummyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -86,7 +83,7 @@ export class LibDummyContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; diff --git a/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts index 364c78f740..d5d5437643 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts @@ -21,7 +21,6 @@ import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; -import * as _ from 'lodash'; // tslint:enable:no-unused-variable /* istanbul ignore next */ @@ -112,7 +111,7 @@ export class TestLibDummyContract extends BaseContract { artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - artifactDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -125,20 +124,18 @@ export class TestLibDummyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const abiDependencies = _.mapValues( - artifactDependencies, - (artifactDependency: ContractArtifact | SimpleContractArtifact) => { - return artifactDependency.compilerOutput.abi; - }, + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, ); - return TestLibDummyContract.deployAsync(bytecode, abi, provider, txDefaults, abiDependencies); + return TestLibDummyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, - abiDependencies: { [contractName: string]: ContractAbi }, + logDecodeDependencies: { [contractName: string]: ContractAbi }, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -166,7 +163,7 @@ export class TestLibDummyContract extends BaseContract { txReceipt.contractAddress as string, provider, txDefaults, - abiDependencies, + logDecodeDependencies, ); contractInstance.constructorArgs = []; return contractInstance; From 26ee4d626c6c7c97958f7a9144750d90ca03b740 Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Mon, 29 Jul 2019 15:57:59 +0200 Subject: [PATCH 052/162] ran prettier on abi-gen-wrappers --- .../generated-wrappers/asset_proxy_owner.ts | 2353 ++++---- .../src/generated-wrappers/coordinator.ts | 628 +- .../coordinator_registry.ts | 256 +- .../generated-wrappers/dummy_erc20_token.ts | 1299 ++--- .../generated-wrappers/dummy_erc721_token.ts | 1646 +++--- .../src/generated-wrappers/dutch_auction.ts | 691 ++- .../src/generated-wrappers/erc20_proxy.ts | 820 ++- .../src/generated-wrappers/erc20_token.ts | 642 +- .../src/generated-wrappers/erc721_proxy.ts | 820 ++- .../src/generated-wrappers/erc721_token.ts | 1066 ++-- .../generated-wrappers/eth_balance_checker.ts | 76 +- .../src/generated-wrappers/exchange.ts | 5188 ++++++++++------- .../src/generated-wrappers/forwarder.ts | 1315 +++-- .../src/generated-wrappers/i_asset_proxy.ts | 904 ++- .../src/generated-wrappers/i_validator.ts | 81 +- .../src/generated-wrappers/i_wallet.ts | 73 +- .../generated-wrappers/multi_asset_proxy.ts | 1041 ++-- .../src/generated-wrappers/order_validator.ts | 586 +- .../src/generated-wrappers/weth9.ts | 1027 ++-- .../src/generated-wrappers/zrx_token.ts | 731 ++- 20 files changed, 11072 insertions(+), 10171 deletions(-) diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts index db528702d2..d4f38be5c3 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -110,7 +113,6 @@ export interface AssetProxyOwnerRequirementChangeEventArgs extends DecodedLogArg required: BigNumber; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -120,8 +122,7 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -131,9 +132,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('owners(uint256)', [index_0 - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('owners(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -142,54 +142,45 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - ): string { + getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('owners(uint256)', [index_0 - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('owners(uint256)', [index_0]); return abiEncodedTransactionData; }, }; public removeOwner = { - async sendTransactionAsync( - owner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeOwner.estimateGasAsync.bind( - self, - owner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeOwner.estimateGasAsync.bind(self, owner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( owner: string, @@ -197,51 +188,41 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.removeOwner.sendTransactionAsync(owner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('owner', owner); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.removeOwner.sendTransactionAsync(owner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - owner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(owner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - owner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(owner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('owner', owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -251,9 +232,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -262,54 +242,47 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - owner: string, - ): string { + getABIEncodedTransactionData(owner: string): string { assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeOwner(address)', [ + owner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public revokeConfirmation = { - async sendTransactionAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.revokeConfirmation.estimateGasAsync.bind( - self, - transactionId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.revokeConfirmation.estimateGasAsync.bind(self, transactionId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -317,51 +290,45 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.revokeConfirmation.sendTransactionAsync(transactionId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.revokeConfirmation.sendTransactionAsync(transactionId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -371,9 +338,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -382,24 +348,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('revokeConfirmation(uint256)', [ + transactionId, + ]); return abiEncodedTransactionData; }, }; @@ -408,8 +374,7 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -419,9 +384,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -430,24 +394,22 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]); return abiEncodedTransactionData; }, }; @@ -457,8 +419,7 @@ export class AssetProxyOwnerContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -469,10 +430,11 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmations(uint256,address)', [index_0, - index_1.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmations(uint256,address)', [ + index_0, + index_1.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -481,57 +443,51 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - index_1: string, - ): string { + getABIEncodedTransactionData(index_0: BigNumber, index_1: string): string { assert.isBigNumber('index_0', index_0); assert.isString('index_1', index_1); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmations(uint256,address)', [index_0, - index_1.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmations(uint256,address)', [ + index_0, + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public executeRemoveAuthorizedAddressAtIndex = { - async sendTransactionAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeRemoveAuthorizedAddressAtIndex.estimateGasAsync.bind( - self, - transactionId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [ + transactionId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeRemoveAuthorizedAddressAtIndex.estimateGasAsync.bind(self, transactionId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -539,51 +495,50 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.executeRemoveAuthorizedAddressAtIndex.sendTransactionAsync(transactionId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.executeRemoveAuthorizedAddressAtIndex.sendTransactionAsync( + transactionId, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [ + transactionId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -593,9 +548,10 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [ + transactionId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -604,33 +560,30 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('executeRemoveAuthorizedAddressAtIndex(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('executeRemoveAuthorizedAddressAtIndex(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'executeRemoveAuthorizedAddressAtIndex(uint256)', + [transactionId], + ); return abiEncodedTransactionData; }, }; public secondsTimeLocked = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -639,7 +592,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; + const self = (this as any) as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('secondsTimeLocked()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -649,20 +602,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as AssetProxyOwnerContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('secondsTimeLocked()', []); return abiEncodedTransactionData; }, @@ -673,8 +626,7 @@ export class AssetProxyOwnerContract extends BaseContract { executed: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBoolean('pending', pending); assert.isBoolean('executed', executed); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -685,10 +637,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, - executed - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, executed]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -697,27 +647,26 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - pending: boolean, - executed: boolean, - ): string { + getABIEncodedTransactionData(pending: boolean, executed: boolean): string { assert.isBoolean('pending', pending); assert.isBoolean('executed', executed); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, - executed - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [ + pending, + executed, + ]); return abiEncodedTransactionData; }, }; @@ -725,33 +674,30 @@ export class AssetProxyOwnerContract extends BaseContract { async sendTransactionAsync( assetProxyContract: string, isRegistered: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('assetProxyContract', assetProxyContract); - assert.isBoolean('isRegistered', isRegistered); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), - isRegistered - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.registerAssetProxy.estimateGasAsync.bind( - self, + assert.isString('assetProxyContract', assetProxyContract); + assert.isBoolean('isRegistered', isRegistered); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ assetProxyContract.toLowerCase(), - isRegistered - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + isRegistered, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.registerAssetProxy.estimateGasAsync.bind(self, assetProxyContract.toLowerCase(), isRegistered), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetProxyContract: string, @@ -760,57 +706,59 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxyContract', assetProxyContract); - assert.isBoolean('isRegistered', isRegistered); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxyContract.toLowerCase(), - isRegistered - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetProxyContract', assetProxyContract); + assert.isBoolean('isRegistered', isRegistered); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync( + assetProxyContract.toLowerCase(), + isRegistered, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( assetProxyContract: string, isRegistered: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('assetProxyContract', assetProxyContract); - assert.isBoolean('isRegistered', isRegistered); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), - isRegistered - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('assetProxyContract', assetProxyContract); + assert.isBoolean('isRegistered', isRegistered); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ + assetProxyContract.toLowerCase(), + isRegistered, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetProxyContract: string, isRegistered: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxyContract', assetProxyContract); assert.isBoolean('isRegistered', isRegistered); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -821,10 +769,11 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), - isRegistered - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ + assetProxyContract.toLowerCase(), + isRegistered, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -833,57 +782,49 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetProxyContract: string, - isRegistered: boolean, - ): string { + getABIEncodedTransactionData(assetProxyContract: string, isRegistered: boolean): string { assert.isString('assetProxyContract', assetProxyContract); assert.isBoolean('isRegistered', isRegistered); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [assetProxyContract.toLowerCase(), - isRegistered - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [ + assetProxyContract.toLowerCase(), + isRegistered, + ]); return abiEncodedTransactionData; }, }; public addOwner = { - async sendTransactionAsync( - owner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addOwner.estimateGasAsync.bind( - self, - owner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addOwner.estimateGasAsync.bind(self, owner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( owner: string, @@ -891,51 +832,41 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.addOwner.sendTransactionAsync(owner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('owner', owner); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.addOwner.sendTransactionAsync(owner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - owner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(owner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - owner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(owner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('owner', owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -945,9 +876,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -956,24 +886,22 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - owner: string, - ): string { + getABIEncodedTransactionData(owner: string): string { assert.isString('owner', owner); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); return abiEncodedTransactionData; }, }; @@ -982,8 +910,7 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -993,9 +920,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1004,54 +930,48 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId]); return abiEncodedTransactionData; }, }; public changeTimeLock = { async sendTransactionAsync( _secondsTimeLocked: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.changeTimeLock.estimateGasAsync.bind( - self, - _secondsTimeLocked - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.changeTimeLock.estimateGasAsync.bind(self, _secondsTimeLocked), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _secondsTimeLocked: BigNumber, @@ -1059,51 +979,45 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.changeTimeLock.sendTransactionAsync(_secondsTimeLocked - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.changeTimeLock.sendTransactionAsync(_secondsTimeLocked, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - _secondsTimeLocked: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(_secondsTimeLocked: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _secondsTimeLocked: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1113,9 +1027,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1124,24 +1037,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _secondsTimeLocked: BigNumber, - ): string { + getABIEncodedTransactionData(_secondsTimeLocked: BigNumber): string { assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('changeTimeLock(uint256)', [ + _secondsTimeLocked, + ]); return abiEncodedTransactionData; }, }; @@ -1150,8 +1063,7 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1161,9 +1073,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1172,24 +1083,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isAssetProxyRegistered(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [ + index_0.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; @@ -1198,8 +1109,7 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1209,9 +1119,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1220,24 +1129,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmationCount(uint256)', [ + transactionId, + ]); return abiEncodedTransactionData; }, }; @@ -1246,8 +1155,7 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, BigNumber, string, boolean] - > { + ): Promise<[string, BigNumber, string, boolean]> { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1257,9 +1165,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('transactions(uint256)', [index_0 - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('transactions(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1268,33 +1175,27 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean]>(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - ): string { + getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactions(uint256)', [index_0 - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transactions(uint256)', [index_0]); return abiEncodedTransactionData; }, }; public getOwners = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1303,7 +1204,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; + const self = (this as any) as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('getOwners()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1313,20 +1214,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getOwners()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as AssetProxyOwnerContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('getOwners()', []); return abiEncodedTransactionData; }, @@ -1339,8 +1240,7 @@ export class AssetProxyOwnerContract extends BaseContract { executed: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('from', from); assert.isBigNumber('to', to); assert.isBoolean('pending', pending); @@ -1353,12 +1253,13 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [from, - to, - pending, - executed - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [ + from, + to, + pending, + executed, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1367,33 +1268,28 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - from: BigNumber, - to: BigNumber, - pending: boolean, - executed: boolean, - ): string { + getABIEncodedTransactionData(from: BigNumber, to: BigNumber, pending: boolean, executed: boolean): string { assert.isBigNumber('from', from); assert.isBigNumber('to', to); assert.isBoolean('pending', pending); assert.isBoolean('executed', executed); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [from, - to, - pending, - executed - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getTransactionIds(uint256,uint256,bool,bool)', + [from, to, pending, executed], + ); return abiEncodedTransactionData; }, }; @@ -1402,8 +1298,7 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1413,9 +1308,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1424,33 +1318,27 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId]); return abiEncodedTransactionData; }, }; public transactionCount = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1459,7 +1347,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; + const self = (this as any) as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('transactionCount()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1469,51 +1357,44 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transactionCount()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as AssetProxyOwnerContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('transactionCount()', []); return abiEncodedTransactionData; }, }; public changeRequirement = { - async sendTransactionAsync( - _required: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('_required', _required); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.changeRequirement.estimateGasAsync.bind( - self, - _required - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(_required: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_required', _required); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.changeRequirement.estimateGasAsync.bind(self, _required), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _required: BigNumber, @@ -1521,51 +1402,45 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_required', _required); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.changeRequirement.sendTransactionAsync(_required - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('_required', _required); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.changeRequirement.sendTransactionAsync(_required, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - _required: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('_required', _required); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(_required: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_required', _required); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _required: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_required', _required); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1575,9 +1450,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1586,54 +1460,45 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _required: BigNumber, - ): string { + getABIEncodedTransactionData(_required: BigNumber): string { assert.isBigNumber('_required', _required); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('changeRequirement(uint256)', [_required - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); return abiEncodedTransactionData; }, }; public confirmTransaction = { - async sendTransactionAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.confirmTransaction.estimateGasAsync.bind( - self, - transactionId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.confirmTransaction.estimateGasAsync.bind(self, transactionId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -1641,51 +1506,45 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.confirmTransaction.sendTransactionAsync(transactionId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.confirmTransaction.sendTransactionAsync(transactionId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1695,9 +1554,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1706,24 +1564,24 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmTransaction(uint256)', [ + transactionId, + ]); return abiEncodedTransactionData; }, }; @@ -1732,36 +1590,32 @@ export class AssetProxyOwnerContract extends BaseContract { destination: string, value: BigNumber, data: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), - value, - data - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.submitTransaction.estimateGasAsync.bind( - self, + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ destination.toLowerCase(), value, - data - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.submitTransaction.estimateGasAsync.bind(self, destination.toLowerCase(), value, data), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( destination: string, @@ -1771,25 +1625,27 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.submitTransaction.sendTransactionAsync(destination.toLowerCase(), - value, - data - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.submitTransaction.sendTransactionAsync( + destination.toLowerCase(), + value, + data, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( destination: string, @@ -1797,28 +1653,29 @@ export class AssetProxyOwnerContract extends BaseContract { data: string, txData?: Partial | undefined, ): Promise { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), - value, - data - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ + destination.toLowerCase(), + value, + data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( destination: string, @@ -1826,8 +1683,7 @@ export class AssetProxyOwnerContract extends BaseContract { data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('destination', destination); assert.isBigNumber('value', value); assert.isString('data', data); @@ -1839,11 +1695,12 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), - value, - data - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ + destination.toLowerCase(), + value, + data, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1852,30 +1709,28 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - destination: string, - value: BigNumber, - data: string, - ): string { + getABIEncodedTransactionData(destination: string, value: BigNumber, data: string): string { assert.isString('destination', destination); assert.isBigNumber('value', value); assert.isString('data', data); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [destination.toLowerCase(), - value, - data - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ + destination.toLowerCase(), + value, + data, + ]); return abiEncodedTransactionData; }, }; @@ -1884,8 +1739,7 @@ export class AssetProxyOwnerContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1895,9 +1749,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0 - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1906,33 +1759,27 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - ): string { + getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0 - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0]); return abiEncodedTransactionData; }, }; public MAX_OWNER_COUNT = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1941,7 +1788,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; + const self = (this as any) as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1951,30 +1798,26 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as AssetProxyOwnerContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); return abiEncodedTransactionData; }, }; public required = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1983,7 +1826,7 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; + const self = (this as any) as AssetProxyOwnerContract; const encodedData = self._strictEncodeArguments('required()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1993,20 +1836,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('required()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as AssetProxyOwnerContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as AssetProxyOwnerContract; const abiEncodedTransactionData = self._strictEncodeArguments('required()', []); return abiEncodedTransactionData; }, @@ -2015,33 +1858,30 @@ export class AssetProxyOwnerContract extends BaseContract { async sendTransactionAsync( owner: string, newOwner: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), - newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.replaceOwner.estimateGasAsync.bind( - self, + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ owner.toLowerCase(), - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + newOwner.toLowerCase(), + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.replaceOwner.estimateGasAsync.bind(self, owner.toLowerCase(), newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( owner: string, @@ -2050,57 +1890,55 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.replaceOwner.sendTransactionAsync(owner.toLowerCase(), - newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.replaceOwner.sendTransactionAsync( + owner.toLowerCase(), + newOwner.toLowerCase(), + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - owner: string, - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), - newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(owner: string, newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( owner: string, newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('owner', owner); assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2111,10 +1949,11 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), - newOwner.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2123,57 +1962,49 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - owner: string, - newOwner: string, - ): string { + getABIEncodedTransactionData(owner: string, newOwner: string): string { assert.isString('owner', owner); assert.isString('newOwner', newOwner); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [owner.toLowerCase(), - newOwner.toLowerCase() - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public executeTransaction = { - async sendTransactionAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeTransaction.estimateGasAsync.bind( - self, - transactionId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeTransaction.estimateGasAsync.bind(self, transactionId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( transactionId: BigNumber, @@ -2181,51 +2012,45 @@ export class AssetProxyOwnerContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync(transactionId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.executeTransaction.sendTransactionAsync(transactionId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -2235,9 +2060,8 @@ export class AssetProxyOwnerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2246,37 +2070,37 @@ export class AssetProxyOwnerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transactionId: BigNumber, - ): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); - const self = this as any as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId - ]); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256)', [ + transactionId, + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _owners: string[], - _assetProxyContracts: string[], - _required: BigNumber, - _secondsTimeLocked: BigNumber, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _owners: string[], + _assetProxyContracts: string[], + _required: BigNumber, + _secondsTimeLocked: BigNumber, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -2289,12 +2113,21 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return AssetProxyOwnerContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _owners, -_assetProxyContracts, -_required, -_secondsTimeLocked -); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return AssetProxyOwnerContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, + _owners, + _assetProxyContracts, + _required, + _secondsTimeLocked, + ); } public static async deployAsync( bytecode: string, @@ -2302,10 +2135,10 @@ _secondsTimeLocked supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _owners: string[], - _assetProxyContracts: string[], - _required: BigNumber, - _secondsTimeLocked: BigNumber, + _owners: string[], + _assetProxyContracts: string[], + _required: BigNumber, + _secondsTimeLocked: BigNumber, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -2315,29 +2148,17 @@ _secondsTimeLocked ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_owners, -_assetProxyContracts, -_required, -_secondsTimeLocked -] = BaseContract._formatABIDataItemList( + [_owners, _assetProxyContracts, _required, _secondsTimeLocked] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_owners, -_assetProxyContracts, -_required, -_secondsTimeLocked -], + [_owners, _assetProxyContracts, _required, _secondsTimeLocked], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_owners, -_assetProxyContracts, -_required, -_secondsTimeLocked -]); + const txData = deployInfo.encode(bytecode, [_owners, _assetProxyContracts, _required, _secondsTimeLocked]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -2345,22 +2166,22 @@ _secondsTimeLocked logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`AssetProxyOwner successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new AssetProxyOwnerContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); - contractInstance.constructorArgs = [_owners, -_assetProxyContracts, -_required, -_secondsTimeLocked -]; + const contractInstance = new AssetProxyOwnerContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); + contractInstance.constructorArgs = [_owners, _assetProxyContracts, _required, _secondsTimeLocked]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -2379,7 +2200,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2388,13 +2209,12 @@ _secondsTimeLocked }, ], name: 'removeOwner', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2403,13 +2223,12 @@ _secondsTimeLocked }, ], name: 'revokeConfirmation', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2428,7 +2247,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2451,7 +2270,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2460,16 +2279,14 @@ _secondsTimeLocked }, ], name: 'executeRemoveAuthorizedAddressAtIndex', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'secondsTimeLocked', outputs: [ { @@ -2481,7 +2298,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2504,7 +2321,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2517,13 +2334,12 @@ _secondsTimeLocked }, ], name: 'registerAssetProxy', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2532,13 +2348,12 @@ _secondsTimeLocked }, ], name: 'addOwner', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2557,7 +2372,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2566,13 +2381,12 @@ _secondsTimeLocked }, ], name: 'changeTimeLock', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2591,7 +2405,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2610,7 +2424,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2641,10 +2455,9 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getOwners', outputs: [ { @@ -2656,7 +2469,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2687,7 +2500,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2706,10 +2519,9 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'transactionCount', outputs: [ { @@ -2721,7 +2533,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2730,13 +2542,12 @@ _secondsTimeLocked }, ], name: 'changeRequirement', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2745,13 +2556,12 @@ _secondsTimeLocked }, ], name: 'confirmTransaction', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2778,7 +2588,7 @@ _secondsTimeLocked stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -2797,10 +2607,9 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'MAX_OWNER_COUNT', outputs: [ { @@ -2812,10 +2621,9 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'required', outputs: [ { @@ -2827,7 +2635,7 @@ _secondsTimeLocked stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2840,13 +2648,12 @@ _secondsTimeLocked }, ], name: 'replaceOwner', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -2855,13 +2662,12 @@ _secondsTimeLocked }, ], name: 'executeTransaction', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_owners', @@ -2880,22 +2686,19 @@ _secondsTimeLocked type: 'uint256', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: true, stateMutability: 'payable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -2910,11 +2713,10 @@ _secondsTimeLocked }, ], name: 'AssetProxyRegistration', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2929,11 +2731,10 @@ _secondsTimeLocked }, ], name: 'ConfirmationTimeSet', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2943,11 +2744,10 @@ _secondsTimeLocked }, ], name: 'TimeLockChange', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2962,11 +2762,10 @@ _secondsTimeLocked }, ], name: 'Confirmation', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2981,11 +2780,10 @@ _secondsTimeLocked }, ], name: 'Revocation', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -2995,11 +2793,10 @@ _secondsTimeLocked }, ], name: 'Submission', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -3009,11 +2806,10 @@ _secondsTimeLocked }, ], name: 'Execution', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -3023,11 +2819,10 @@ _secondsTimeLocked }, ], name: 'ExecutionFailure', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -3042,11 +2837,10 @@ _secondsTimeLocked }, ], name: 'Deposit', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -3056,11 +2850,10 @@ _secondsTimeLocked }, ], name: 'OwnerAddition', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -3070,11 +2863,10 @@ _secondsTimeLocked }, ], name: 'OwnerRemoval', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -3084,8 +2876,7 @@ _secondsTimeLocked }, ], name: 'RequirementChange', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -3159,15 +2950,27 @@ _secondsTimeLocked ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('AssetProxyOwner', AssetProxyOwnerContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'AssetProxyOwner', + AssetProxyOwnerContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( AssetProxyOwnerContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts index 9c6104b686..305e0b38aa 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,7 +23,6 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -34,8 +33,7 @@ export class CoordinatorContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -46,10 +44,8 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [hash, - signature - ]); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [hash, signature]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -58,38 +54,35 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getSignerAddress(bytes32,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - hash: string, - signature: string, - ): string { + getABIEncodedTransactionData(hash: string, signature: string): string { assert.isString('hash', hash); assert.isString('signature', signature); - const self = this as any as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [hash, - signature - ]); + const self = (this as any) as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getSignerAddress(bytes32,bytes)', [ + hash, + signature, + ]); return abiEncodedTransactionData; }, }; public getTransactionHash = { async callAsync( - transaction: {salt: BigNumber;signerAddress: string;data: string}, + transaction: { salt: BigNumber; signerAddress: string; data: string }, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -98,9 +91,10 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('getTransactionHash((uint256,address,bytes))', [transaction - ]); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments('getTransactionHash((uint256,address,bytes))', [ + transaction, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -109,35 +103,38 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getTransactionHash((uint256,address,bytes))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - transaction: {salt: BigNumber;signerAddress: string;data: string}, - ): string { - - const self = this as any as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionHash((uint256,address,bytes))', [transaction - ]); + getABIEncodedTransactionData(transaction: { salt: BigNumber; signerAddress: string; data: string }): string { + const self = (this as any) as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getTransactionHash((uint256,address,bytes))', + [transaction], + ); return abiEncodedTransactionData; }, }; public getCoordinatorApprovalHash = { async callAsync( - approval: {txOrigin: string;transactionHash: string;transactionSignature: string;approvalExpirationTimeSeconds: BigNumber}, + approval: { + txOrigin: string; + transactionHash: string; + transactionSignature: string; + approvalExpirationTimeSeconds: BigNumber; + }, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -146,9 +143,11 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', [approval - ]); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments( + 'getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', + [approval], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -157,73 +156,81 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - approval: {txOrigin: string;transactionHash: string;transactionSignature: string;approvalExpirationTimeSeconds: BigNumber}, - ): string { - - const self = this as any as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', [approval - ]); + getABIEncodedTransactionData(approval: { + txOrigin: string; + transactionHash: string; + transactionSignature: string; + approvalExpirationTimeSeconds: BigNumber; + }): string { + const self = (this as any) as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getCoordinatorApprovalHash((address,bytes32,bytes,uint256))', + [approval], + ); return abiEncodedTransactionData; }, }; public executeTransaction = { async sendTransactionAsync( - transaction: {salt: BigNumber;signerAddress: string;data: string}, + transaction: { salt: BigNumber; signerAddress: string; data: string }, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - - assert.isString('txOrigin', txOrigin); - assert.isString('transactionSignature', transactionSignature); - assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); - assert.isArray('approvalSignatures', approvalSignatures); - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeTransaction.estimateGasAsync.bind( - self, - transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('txOrigin', txOrigin); + assert.isString('transactionSignature', transactionSignature); + assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); + assert.isArray('approvalSignatures', approvalSignatures); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments( + 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', + [ + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeTransaction.estimateGasAsync.bind( + self, + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - transaction: {salt: BigNumber;signerAddress: string;data: string}, + transaction: { salt: BigNumber; signerAddress: string; data: string }, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], @@ -232,76 +239,78 @@ export class CoordinatorContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - assert.isString('txOrigin', txOrigin); - assert.isString('transactionSignature', transactionSignature); - assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); - assert.isArray('approvalSignatures', approvalSignatures); - const self = this as any as CoordinatorContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync(transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('txOrigin', txOrigin); + assert.isString('transactionSignature', transactionSignature); + assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); + assert.isArray('approvalSignatures', approvalSignatures); + const self = (this as any) as CoordinatorContract; + const txHashPromise = self.executeTransaction.sendTransactionAsync( + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - transaction: {salt: BigNumber;signerAddress: string;data: string}, + transaction: { salt: BigNumber; signerAddress: string; data: string }, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], txData?: Partial | undefined, ): Promise { - - assert.isString('txOrigin', txOrigin); - assert.isString('transactionSignature', transactionSignature); - assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); - assert.isArray('approvalSignatures', approvalSignatures); - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('txOrigin', txOrigin); + assert.isString('transactionSignature', transactionSignature); + assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); + assert.isArray('approvalSignatures', approvalSignatures); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments( + 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', + [ + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - transaction: {salt: BigNumber;signerAddress: string;data: string}, + transaction: { salt: BigNumber; signerAddress: string; data: string }, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - + ): Promise { assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); @@ -314,13 +323,17 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ]); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments( + 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', + [ + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -329,45 +342,47 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - transaction: {salt: BigNumber;signerAddress: string;data: string}, - txOrigin: string, - transactionSignature: string, - approvalExpirationTimeSeconds: BigNumber[], - approvalSignatures: string[], - ): string { - + transaction: { salt: BigNumber; signerAddress: string; data: string }, + txOrigin: string, + transactionSignature: string, + approvalExpirationTimeSeconds: BigNumber[], + approvalSignatures: string[], + ): string { assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); assert.isArray('approvalSignatures', approvalSignatures); - const self = this as any as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ]); + const self = (this as any) as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])', + [ + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ], + ); return abiEncodedTransactionData; }, }; public EIP712_EXCHANGE_DOMAIN_HASH = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -376,7 +391,7 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; + const self = (this as any) as CoordinatorContract; const encodedData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -386,36 +401,34 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as CoordinatorContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as CoordinatorContract; const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, }; public assertValidCoordinatorApprovals = { async callAsync( - transaction: {salt: BigNumber;signerAddress: string;data: string}, + transaction: { salt: BigNumber; signerAddress: string; data: string }, txOrigin: string, transactionSignature: string, approvalExpirationTimeSeconds: BigNumber[], approvalSignatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - + ): Promise { assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); @@ -428,13 +441,17 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ]); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments( + 'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', + [ + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -443,36 +460,42 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - transaction: {salt: BigNumber;signerAddress: string;data: string}, - txOrigin: string, - transactionSignature: string, - approvalExpirationTimeSeconds: BigNumber[], - approvalSignatures: string[], - ): string { - + transaction: { salt: BigNumber; signerAddress: string; data: string }, + txOrigin: string, + transactionSignature: string, + approvalExpirationTimeSeconds: BigNumber[], + approvalSignatures: string[], + ): string { assert.isString('txOrigin', txOrigin); assert.isString('transactionSignature', transactionSignature); assert.isArray('approvalExpirationTimeSeconds', approvalExpirationTimeSeconds); assert.isArray('approvalSignatures', approvalSignatures); - const self = this as any as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', [transaction, - txOrigin.toLowerCase(), - transactionSignature, - approvalExpirationTimeSeconds, - approvalSignatures - ]); + const self = (this as any) as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])', + [ + transaction, + txOrigin.toLowerCase(), + transactionSignature, + approvalExpirationTimeSeconds, + approvalSignatures, + ], + ); return abiEncodedTransactionData; }, }; @@ -481,7 +504,21 @@ export class CoordinatorContract extends BaseContract { data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise + ): Promise< + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }> > { assert.isString('data', data); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -492,9 +529,8 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; - const encodedData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data - ]); + const self = (this as any) as CoordinatorContract; + const encodedData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -503,33 +539,42 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decodeOrdersFromFillData(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }> + >(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - data: string, - ): string { + getABIEncodedTransactionData(data: string): string { assert.isString('data', data); - const self = this as any as CoordinatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data - ]); + const self = (this as any) as CoordinatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeOrdersFromFillData(bytes)', [data]); return abiEncodedTransactionData; }, }; public EIP712_COORDINATOR_DOMAIN_HASH = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -538,7 +583,7 @@ export class CoordinatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorContract; + const self = (this as any) as CoordinatorContract; const encodedData = self._strictEncodeArguments('EIP712_COORDINATOR_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -548,30 +593,30 @@ export class CoordinatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('EIP712_COORDINATOR_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as CoordinatorContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as CoordinatorContract; const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_COORDINATOR_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _exchange: string, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _exchange: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -584,9 +629,18 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return CoordinatorContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _exchange -); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return CoordinatorContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, + _exchange, + ); } public static async deployAsync( bytecode: string, @@ -594,7 +648,7 @@ public static async deployFrom0xArtifactAsync( supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _exchange: string, + _exchange: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -604,20 +658,17 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange -] = BaseContract._formatABIDataItemList( + [_exchange] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange -], + [_exchange], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange -]); + const txData = deployInfo.encode(bytecode, [_exchange]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -625,19 +676,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`Coordinator successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new CoordinatorContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); - contractInstance.constructorArgs = [_exchange -]; + const contractInstance = new CoordinatorContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); + contractInstance.constructorArgs = [_exchange]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -660,7 +714,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -679,7 +733,7 @@ public static async deployFrom0xArtifactAsync( name: 'data', type: 'bytes', }, - ] + ], }, ], name: 'getTransactionHash', @@ -693,7 +747,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -716,7 +770,7 @@ public static async deployFrom0xArtifactAsync( name: 'approvalExpirationTimeSeconds', type: 'uint256', }, - ] + ], }, ], name: 'getCoordinatorApprovalHash', @@ -730,7 +784,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -749,7 +803,7 @@ public static async deployFrom0xArtifactAsync( name: 'data', type: 'bytes', }, - ] + ], }, { name: 'txOrigin', @@ -769,16 +823,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'executeTransaction', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'EIP712_EXCHANGE_DOMAIN_HASH', outputs: [ { @@ -790,7 +842,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -809,7 +861,7 @@ public static async deployFrom0xArtifactAsync( name: 'data', type: 'bytes', }, - ] + ], }, { name: 'txOrigin', @@ -829,13 +881,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'assertValidCoordinatorApprovals', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -897,17 +948,16 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, ], payable: false, stateMutability: 'pure', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'EIP712_COORDINATOR_DOMAIN_HASH', outputs: [ { @@ -919,15 +969,14 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_exchange', type: 'address', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', @@ -935,11 +984,16 @@ public static async deployFrom0xArtifactAsync( ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('Coordinator', CoordinatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts index 717c5cddab..50ea62a44f 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -28,8 +31,7 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable -export type CoordinatorRegistryEventArgs = - | CoordinatorRegistryCoordinatorEndpointSetEventArgs; +export type CoordinatorRegistryEventArgs = CoordinatorRegistryCoordinatorEndpointSetEventArgs; export enum CoordinatorRegistryEvents { CoordinatorEndpointSet = 'CoordinatorEndpointSet', @@ -40,38 +42,30 @@ export interface CoordinatorRegistryCoordinatorEndpointSetEventArgs extends Deco coordinatorEndpoint: string; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class CoordinatorRegistryContract extends BaseContract { public setCoordinatorEndpoint = { - async sendTransactionAsync( - coordinatorEndpoint: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = this as any as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setCoordinatorEndpoint.estimateGasAsync.bind( - self, - coordinatorEndpoint - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(coordinatorEndpoint: string, txData?: Partial | undefined): Promise { + assert.isString('coordinatorEndpoint', coordinatorEndpoint); + const self = (this as any) as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setCoordinatorEndpoint.estimateGasAsync.bind(self, coordinatorEndpoint), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( coordinatorEndpoint: string, @@ -79,51 +73,45 @@ export class CoordinatorRegistryContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = this as any as CoordinatorRegistryContract; - const txHashPromise = self.setCoordinatorEndpoint.sendTransactionAsync(coordinatorEndpoint - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('coordinatorEndpoint', coordinatorEndpoint); + const self = (this as any) as CoordinatorRegistryContract; + const txHashPromise = self.setCoordinatorEndpoint.sendTransactionAsync(coordinatorEndpoint, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - coordinatorEndpoint: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = this as any as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(coordinatorEndpoint: string, txData?: Partial | undefined): Promise { + assert.isString('coordinatorEndpoint', coordinatorEndpoint); + const self = (this as any) as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( coordinatorEndpoint: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('coordinatorEndpoint', coordinatorEndpoint); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -133,9 +121,8 @@ export class CoordinatorRegistryContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint - ]); + const self = (this as any) as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -144,24 +131,24 @@ export class CoordinatorRegistryContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setCoordinatorEndpoint(string)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - coordinatorEndpoint: string, - ): string { + getABIEncodedTransactionData(coordinatorEndpoint: string): string { assert.isString('coordinatorEndpoint', coordinatorEndpoint); - const self = this as any as CoordinatorRegistryContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [coordinatorEndpoint - ]); + const self = (this as any) as CoordinatorRegistryContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setCoordinatorEndpoint(string)', [ + coordinatorEndpoint, + ]); return abiEncodedTransactionData; }, }; @@ -170,8 +157,7 @@ export class CoordinatorRegistryContract extends BaseContract { coordinatorOperator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('coordinatorOperator', coordinatorOperator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -181,9 +167,10 @@ export class CoordinatorRegistryContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as CoordinatorRegistryContract; - const encodedData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [coordinatorOperator.toLowerCase() - ]); + const self = (this as any) as CoordinatorRegistryContract; + const encodedData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [ + coordinatorOperator.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -192,33 +179,33 @@ export class CoordinatorRegistryContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getCoordinatorEndpoint(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - coordinatorOperator: string, - ): string { + getABIEncodedTransactionData(coordinatorOperator: string): string { assert.isString('coordinatorOperator', coordinatorOperator); - const self = this as any as CoordinatorRegistryContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [coordinatorOperator.toLowerCase() - ]); + const self = (this as any) as CoordinatorRegistryContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [ + coordinatorOperator.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -231,8 +218,17 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return CoordinatorRegistryContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return CoordinatorRegistryContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, + ); } public static async deployAsync( bytecode: string, @@ -249,17 +245,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -267,18 +259,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`CoordinatorRegistry successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new CoordinatorRegistryContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + const contractInstance = new CoordinatorRegistryContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -287,13 +283,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'setCoordinatorEndpoint', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -312,16 +307,14 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -336,8 +329,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'CoordinatorEndpointSet', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -411,15 +403,27 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('CoordinatorRegistry', CoordinatorRegistryContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'CoordinatorRegistry', + CoordinatorRegistryContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( CoordinatorRegistryContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts index 86ae2b9e90..7947130b0d 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -28,9 +31,7 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable -export type DummyERC20TokenEventArgs = - | DummyERC20TokenTransferEventArgs - | DummyERC20TokenApprovalEventArgs; +export type DummyERC20TokenEventArgs = DummyERC20TokenTransferEventArgs | DummyERC20TokenApprovalEventArgs; export enum DummyERC20TokenEvents { Transfer = 'Transfer', @@ -49,17 +50,12 @@ export interface DummyERC20TokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DummyERC20TokenContract extends BaseContract { public name = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -68,7 +64,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; + const self = (this as any) as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -78,20 +74,20 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, @@ -100,33 +96,30 @@ export class DummyERC20TokenContract extends BaseContract { async sendTransactionAsync( _spender: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind( - self, + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ _spender.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _spender: string, @@ -135,57 +128,55 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _spender: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _spender: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -196,10 +187,11 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -208,36 +200,31 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _spender: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_spender: string, _value: BigNumber): string { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -246,7 +233,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; + const self = (this as any) as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -256,20 +243,20 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -279,36 +266,32 @@ export class DummyERC20TokenContract extends BaseContract { _from: string, _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -318,25 +301,27 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _value, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -344,28 +329,29 @@ export class DummyERC20TokenContract extends BaseContract { _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -373,8 +359,7 @@ export class DummyERC20TokenContract extends BaseContract { _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); @@ -386,11 +371,12 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -399,39 +385,33 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; public decimals = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -440,7 +420,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; + const self = (this as any) as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('decimals()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -450,20 +430,20 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decimals()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); return abiEncodedTransactionData; }, @@ -473,8 +453,7 @@ export class DummyERC20TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -484,9 +463,8 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -495,33 +473,27 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - ): string { + getABIEncodedTransactionData(_owner: string): string { assert.isString('_owner', _owner); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -530,7 +502,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; + const self = (this as any) as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -540,30 +512,26 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -572,7 +540,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; + const self = (this as any) as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -582,51 +550,44 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, }; public mint = { - async sendTransactionAsync( - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.mint.estimateGasAsync.bind( - self, - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(_value: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.mint.estimateGasAsync.bind(self, _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _value: BigNumber, @@ -634,51 +595,41 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const txHashPromise = self.mint.sendTransactionAsync(_value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.mint.sendTransactionAsync(_value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(_value: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - _value: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(_value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -688,9 +639,8 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -699,24 +649,22 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_value: BigNumber): string { assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('mint(uint256)', [_value - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('mint(uint256)', [_value]); return abiEncodedTransactionData; }, }; @@ -724,33 +672,27 @@ export class DummyERC20TokenContract extends BaseContract { async sendTransactionAsync( _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind( - self, - _to.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -759,57 +701,48 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - _to: string, - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -820,10 +753,8 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -832,27 +763,26 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _to: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_to: string, _value: BigNumber): string { assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ + _to.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; @@ -862,8 +792,7 @@ export class DummyERC20TokenContract extends BaseContract { _spender: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_spender', _spender); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -874,10 +803,11 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), - _spender.toLowerCase() - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -886,27 +816,26 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - _spender: string, - ): string { + getABIEncodedTransactionData(_owner: string, _spender: string): string { assert.isString('_owner', _owner); assert.isString('_spender', _spender); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), - _spender.toLowerCase() - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; @@ -914,33 +843,30 @@ export class DummyERC20TokenContract extends BaseContract { async sendTransactionAsync( _target: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setBalance.estimateGasAsync.bind( - self, + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ _target.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setBalance.estimateGasAsync.bind(self, _target.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _target: string, @@ -949,57 +875,55 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const txHashPromise = self.setBalance.sendTransactionAsync(_target.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.setBalance.sendTransactionAsync(_target.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _target: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ + _target.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _target: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_target', _target); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1010,10 +934,11 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ + _target.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1022,57 +947,49 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _target: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_target: string, _value: BigNumber): string { assert.isString('_target', _target); assert.isBigNumber('_value', _value); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [_target.toLowerCase(), - _value - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [ + _target.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -1080,51 +997,41 @@ export class DummyERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as DummyERC20TokenContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1134,9 +1041,8 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1145,33 +1051,29 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public MAX_MINT_AMOUNT = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1180,7 +1082,7 @@ export class DummyERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC20TokenContract; + const self = (this as any) as DummyERC20TokenContract; const encodedData = self._strictEncodeArguments('MAX_MINT_AMOUNT()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1190,34 +1092,34 @@ export class DummyERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('MAX_MINT_AMOUNT()', []); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _name: string, - _symbol: string, - _decimals: BigNumber, - _totalSupply: BigNumber, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _name: string, + _symbol: string, + _decimals: BigNumber, + _totalSupply: BigNumber, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1230,12 +1132,21 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return DummyERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _name, -_symbol, -_decimals, -_totalSupply -); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return DummyERC20TokenContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, + _name, + _symbol, + _decimals, + _totalSupply, + ); } public static async deployAsync( bytecode: string, @@ -1243,10 +1154,10 @@ _totalSupply supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _name: string, - _symbol: string, - _decimals: BigNumber, - _totalSupply: BigNumber, + _name: string, + _symbol: string, + _decimals: BigNumber, + _totalSupply: BigNumber, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1256,29 +1167,17 @@ _totalSupply ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_name, -_symbol, -_decimals, -_totalSupply -] = BaseContract._formatABIDataItemList( + [_name, _symbol, _decimals, _totalSupply] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_name, -_symbol, -_decimals, -_totalSupply -], + [_name, _symbol, _decimals, _totalSupply], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_name, -_symbol, -_decimals, -_totalSupply -]); + const txData = deployInfo.encode(bytecode, [_name, _symbol, _decimals, _totalSupply]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1286,25 +1185,24 @@ _totalSupply logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`DummyERC20Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new DummyERC20TokenContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); - contractInstance.constructorArgs = [_name, -_symbol, -_decimals, -_totalSupply -]; + const contractInstance = new DummyERC20TokenContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); + contractInstance.constructorArgs = [_name, _symbol, _decimals, _totalSupply]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'name', outputs: [ { @@ -1316,7 +1214,7 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1339,10 +1237,9 @@ _totalSupply stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'totalSupply', outputs: [ { @@ -1354,7 +1251,7 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1381,10 +1278,9 @@ _totalSupply stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'decimals', outputs: [ { @@ -1396,7 +1292,7 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1415,10 +1311,9 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -1430,10 +1325,9 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'symbol', outputs: [ { @@ -1445,7 +1339,7 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1454,13 +1348,12 @@ _totalSupply }, ], name: 'mint', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1483,7 +1376,7 @@ _totalSupply stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1506,7 +1399,7 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1519,13 +1412,12 @@ _totalSupply }, ], name: 'setBalance', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1534,16 +1426,14 @@ _totalSupply }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'MAX_MINT_AMOUNT', outputs: [ { @@ -1555,7 +1445,7 @@ _totalSupply stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_name', @@ -1574,13 +1464,12 @@ _totalSupply type: 'uint256', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -1600,11 +1489,10 @@ _totalSupply }, ], name: 'Transfer', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1624,8 +1512,7 @@ _totalSupply }, ], name: 'Approval', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1699,15 +1586,27 @@ _totalSupply ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('DummyERC20Token', DummyERC20TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'DummyERC20Token', + DummyERC20TokenContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( DummyERC20TokenContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts index 9f3e0bad87..c3ad0fed54 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -57,17 +60,12 @@ export interface DummyERC721TokenApprovalForAllEventArgs extends DecodedLogArgs _approved: boolean; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DummyERC721TokenContract extends BaseContract { public name = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -76,7 +74,7 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; + const self = (this as any) as DummyERC721TokenContract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -86,20 +84,20 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC721TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC721TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, @@ -109,8 +107,7 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -120,9 +117,8 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -131,24 +127,22 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_tokenId: BigNumber): string { assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); return abiEncodedTransactionData; }, }; @@ -156,33 +150,30 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _approved: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind( - self, + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ _approved.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind(self, _approved.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _approved: string, @@ -191,57 +182,55 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), _tokenId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _approved: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _approved.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _approved: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -252,10 +241,11 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _approved.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -264,27 +254,26 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _approved: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_approved: string, _tokenId: BigNumber): string { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ + _approved.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -293,36 +282,32 @@ export class DummyERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -332,25 +317,27 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -358,28 +345,29 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -387,8 +375,7 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -400,11 +387,12 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -413,30 +401,28 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -444,33 +430,27 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.mint.estimateGasAsync.bind( - self, - _to.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.mint.estimateGasAsync.bind(self, _to.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -479,57 +459,52 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.mint.sendTransactionAsync(_to.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.mint.sendTransactionAsync(_to.toLowerCase(), _tokenId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _to: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -540,10 +515,8 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -552,27 +525,26 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _to: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_to: string, _tokenId: BigNumber): string { assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('mint(address,uint256)', [ + _to.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -581,36 +553,32 @@ export class DummyERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom1.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom1.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -620,25 +588,27 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.safeTransferFrom1.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.safeTransferFrom1.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -646,28 +616,29 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -675,8 +646,7 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -688,11 +658,12 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -701,30 +672,28 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -733,8 +702,7 @@ export class DummyERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -744,9 +712,8 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -755,24 +722,22 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_tokenId: BigNumber): string { assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); return abiEncodedTransactionData; }, }; @@ -781,8 +746,7 @@ export class DummyERC721TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -792,9 +756,8 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -803,33 +766,27 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - ): string { + getABIEncodedTransactionData(_owner: string): string { assert.isString('_owner', _owner); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -838,7 +795,7 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; + const self = (this as any) as DummyERC721TokenContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -848,30 +805,26 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC721TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC721TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -880,7 +833,7 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; + const self = (this as any) as DummyERC721TokenContract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -890,20 +843,20 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as DummyERC721TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC721TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, @@ -912,33 +865,27 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _owner: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.burn.estimateGasAsync.bind( - self, - _owner.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.burn.estimateGasAsync.bind(self, _owner.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _owner: string, @@ -947,57 +894,52 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.burn.sendTransactionAsync(_owner.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.burn.sendTransactionAsync(_owner.toLowerCase(), _tokenId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _owner: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _owner: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1008,10 +950,8 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1020,27 +960,26 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_owner: string, _tokenId: BigNumber): string { assert.isString('_owner', _owner); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), - _tokenId - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [ + _owner.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -1048,33 +987,30 @@ export class DummyERC721TokenContract extends BaseContract { async sendTransactionAsync( _operator: string, _approved: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setApprovalForAll.estimateGasAsync.bind( - self, + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ _operator.toLowerCase(), - _approved - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _approved, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setApprovalForAll.estimateGasAsync.bind(self, _operator.toLowerCase(), _approved), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _operator: string, @@ -1083,57 +1019,59 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.setApprovalForAll.sendTransactionAsync(_operator.toLowerCase(), - _approved - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.setApprovalForAll.sendTransactionAsync( + _operator.toLowerCase(), + _approved, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _operator: string, _approved: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _operator: string, _approved: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1144,10 +1082,11 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1156,27 +1095,26 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _operator: string, - _approved: boolean, - ): string { + getABIEncodedTransactionData(_operator: string, _approved: boolean): string { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); return abiEncodedTransactionData; }, }; @@ -1186,39 +1124,40 @@ export class DummyERC721TokenContract extends BaseContract { _to: string, _tokenId: BigNumber, _data: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom2.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom2.estimateGasAsync.bind( + self, + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -1229,27 +1168,29 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.safeTransferFrom2.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.safeTransferFrom2.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -1258,30 +1199,31 @@ export class DummyERC721TokenContract extends BaseContract { _data: string, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -1290,8 +1232,7 @@ export class DummyERC721TokenContract extends BaseContract { _data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -1304,12 +1245,13 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1318,33 +1260,28 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _tokenId: BigNumber, - _data: string, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber, _data: string): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.isString('_data', _data); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'safeTransferFrom(address,address,uint256,bytes)', + [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data], + ); return abiEncodedTransactionData; }, }; @@ -1354,8 +1291,7 @@ export class DummyERC721TokenContract extends BaseContract { _operator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_operator', _operator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1366,10 +1302,11 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), - _operator.toLowerCase() - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1378,57 +1315,49 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - _operator: string, - ): string { + getABIEncodedTransactionData(_owner: string, _operator: string): string { assert.isString('_owner', _owner); assert.isString('_operator', _operator); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), - _operator.toLowerCase() - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -1436,51 +1365,41 @@ export class DummyERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as DummyERC721TokenContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1490,9 +1409,8 @@ export class DummyERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1501,35 +1419,35 @@ export class DummyERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _name: string, - _symbol: string, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _name: string, + _symbol: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1542,10 +1460,19 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return DummyERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _name, -_symbol -); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return DummyERC721TokenContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, + _name, + _symbol, + ); } public static async deployAsync( bytecode: string, @@ -1553,8 +1480,8 @@ _symbol supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _name: string, - _symbol: string, + _name: string, + _symbol: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -1564,23 +1491,17 @@ _symbol ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_name, -_symbol -] = BaseContract._formatABIDataItemList( + [_name, _symbol] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_name, -_symbol -], + [_name, _symbol], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_name, -_symbol -]); + const txData = deployInfo.encode(bytecode, [_name, _symbol]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1588,23 +1509,24 @@ _symbol logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`DummyERC721Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new DummyERC721TokenContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); - contractInstance.constructorArgs = [_name, -_symbol -]; + const contractInstance = new DummyERC721TokenContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); + contractInstance.constructorArgs = [_name, _symbol]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'name', outputs: [ { @@ -1616,7 +1538,7 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1635,7 +1557,7 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1648,13 +1570,12 @@ _symbol }, ], name: 'approve', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1671,13 +1592,12 @@ _symbol }, ], name: 'transferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1690,13 +1610,12 @@ _symbol }, ], name: 'mint', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1713,13 +1632,12 @@ _symbol }, ], name: 'safeTransferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1738,7 +1656,7 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1757,10 +1675,9 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -1772,10 +1689,9 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'symbol', outputs: [ { @@ -1787,7 +1703,7 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1800,13 +1716,12 @@ _symbol }, ], name: 'burn', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1819,13 +1734,12 @@ _symbol }, ], name: 'setApprovalForAll', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1846,13 +1760,12 @@ _symbol }, ], name: 'safeTransferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1875,7 +1788,7 @@ _symbol stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1884,13 +1797,12 @@ _symbol }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_name', @@ -1901,13 +1813,12 @@ _symbol type: 'string', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -1927,11 +1838,10 @@ _symbol }, ], name: 'Transfer', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1951,11 +1861,10 @@ _symbol }, ], name: 'Approval', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1975,8 +1884,7 @@ _symbol }, ], name: 'ApprovalForAll', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -2050,15 +1958,27 @@ _symbol ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('DummyERC721Token', DummyERC721TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'DummyERC721Token', + DummyERC721TokenContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( DummyERC721TokenContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts index 7f54073ecf..e7aa2434df 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,91 +23,144 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DutchAuctionContract extends BaseContract { public getAuctionDetails = { async sendTransactionAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - txData?: Partial | undefined, - ): Promise { - - const self = this as any as DutchAuctionContract; - const encodedData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; }, - self._web3Wrapper.getContractDefaults(), - self.getAuctionDetails.estimateGasAsync.bind( - self, - order - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + txData?: Partial | undefined, + ): Promise { + const self = (this as any) as DutchAuctionContract; + const encodedData = self._strictEncodeArguments( + 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.getAuctionDetails.estimateGasAsync.bind(self, order), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - const self = this as any as DutchAuctionContract; - const txHashPromise = self.getAuctionDetails.sendTransactionAsync(order - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const self = (this as any) as DutchAuctionContract; + const txHashPromise = self.getAuctionDetails.sendTransactionAsync(order, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, txData?: Partial | undefined, ): Promise { - - const self = this as any as DutchAuctionContract; - const encodedData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + const self = (this as any) as DutchAuctionContract; + const encodedData = self._strictEncodeArguments( + 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{beginTimeSeconds: BigNumber;endTimeSeconds: BigNumber;beginAmount: BigNumber;endAmount: BigNumber;currentAmount: BigNumber;currentTimeSeconds: BigNumber} - > { - + ): Promise<{ + beginTimeSeconds: BigNumber; + endTimeSeconds: BigNumber; + beginAmount: BigNumber; + endAmount: BigNumber; + currentAmount: BigNumber; + currentTimeSeconds: BigNumber; + }> { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -116,9 +169,11 @@ export class DutchAuctionContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DutchAuctionContract; - const encodedData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); + const self = (this as any) as DutchAuctionContract; + const encodedData = self._strictEncodeArguments( + 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -127,141 +182,266 @@ export class DutchAuctionContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'); + const abiEncoder = self._lookupAbiEncoder( + 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{beginTimeSeconds: BigNumber;endTimeSeconds: BigNumber;beginAmount: BigNumber;endAmount: BigNumber;currentAmount: BigNumber;currentTimeSeconds: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + beginTimeSeconds: BigNumber; + endTimeSeconds: BigNumber; + beginAmount: BigNumber; + endAmount: BigNumber; + currentAmount: BigNumber; + currentTimeSeconds: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - ): string { - - const self = this as any as DutchAuctionContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); + getABIEncodedTransactionData(order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }): string { + const self = (this as any) as DutchAuctionContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getAuctionDetails((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); return abiEncodedTransactionData; }, }; public matchOrders = { async sendTransactionAsync( - buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + buyOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + sellOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, buySignature: string, sellSignature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - - - assert.isString('buySignature', buySignature); - assert.isString('sellSignature', sellSignature); - const self = this as any as DutchAuctionContract; - const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, - sellOrder, - buySignature, - sellSignature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.matchOrders.estimateGasAsync.bind( - self, - buyOrder, - sellOrder, - buySignature, - sellSignature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('buySignature', buySignature); + assert.isString('sellSignature', sellSignature); + const self = (this as any) as DutchAuctionContract; + const encodedData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [buyOrder, sellOrder, buySignature, sellSignature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.matchOrders.estimateGasAsync.bind(self, buyOrder, sellOrder, buySignature, sellSignature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + buyOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + sellOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, buySignature: string, sellSignature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - - assert.isString('buySignature', buySignature); - assert.isString('sellSignature', sellSignature); - const self = this as any as DutchAuctionContract; - const txHashPromise = self.matchOrders.sendTransactionAsync(buyOrder, - sellOrder, - buySignature, - sellSignature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('buySignature', buySignature); + assert.isString('sellSignature', sellSignature); + const self = (this as any) as DutchAuctionContract; + const txHashPromise = self.matchOrders.sendTransactionAsync( + buyOrder, + sellOrder, + buySignature, + sellSignature, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + buyOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + sellOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, buySignature: string, sellSignature: string, txData?: Partial | undefined, ): Promise { - - - assert.isString('buySignature', buySignature); - assert.isString('sellSignature', sellSignature); - const self = this as any as DutchAuctionContract; - const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, - sellOrder, - buySignature, - sellSignature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('buySignature', buySignature); + assert.isString('sellSignature', sellSignature); + const self = (this as any) as DutchAuctionContract; + const encodedData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [buyOrder, sellOrder, buySignature, sellSignature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + buyOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + sellOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, buySignature: string, sellSignature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} - > { - - + ): Promise<{ + left: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + right: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + leftMakerAssetSpreadAmount: BigNumber; + }> { assert.isString('buySignature', buySignature); assert.isString('sellSignature', sellSignature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -272,12 +452,11 @@ export class DutchAuctionContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as DutchAuctionContract; - const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, - sellOrder, - buySignature, - sellSignature - ]); + const self = (this as any) as DutchAuctionContract; + const encodedData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [buyOrder, sellOrder, buySignature, sellSignature], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -286,42 +465,82 @@ export class DutchAuctionContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + left: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + right: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + leftMakerAssetSpreadAmount: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - buyOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - sellOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - buySignature: string, - sellSignature: string, - ): string { - - + buyOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + sellOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + buySignature: string, + sellSignature: string, + ): string { assert.isString('buySignature', buySignature); assert.isString('sellSignature', sellSignature); - const self = this as any as DutchAuctionContract; - const abiEncodedTransactionData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [buyOrder, - sellOrder, - buySignature, - sellSignature - ]); + const self = (this as any) as DutchAuctionContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [buyOrder, sellOrder, buySignature, sellSignature], + ); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _exchange: string, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _exchange: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -334,9 +553,18 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return DutchAuctionContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _exchange -); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return DutchAuctionContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, + _exchange, + ); } public static async deployAsync( bytecode: string, @@ -344,7 +572,7 @@ public static async deployFrom0xArtifactAsync( supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _exchange: string, + _exchange: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -354,20 +582,17 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange -] = BaseContract._formatABIDataItemList( + [_exchange] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange -], + [_exchange], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange -]); + const txData = deployInfo.encode(bytecode, [_exchange]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -375,19 +600,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`DutchAuction successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new DutchAuctionContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); - contractInstance.constructorArgs = [_exchange -]; + const contractInstance = new DutchAuctionContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); + contractInstance.constructorArgs = [_exchange]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -442,7 +670,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, ], name: 'getAuctionDetails', @@ -475,14 +703,14 @@ public static async deployFrom0xArtifactAsync( name: 'currentTimeSeconds', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -537,7 +765,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'sellOrder', @@ -591,7 +819,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'buySignature', @@ -628,7 +856,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, { name: 'right', @@ -650,28 +878,27 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, { name: 'leftMakerAssetSpreadAmount', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_exchange', type: 'address', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', @@ -679,11 +906,23 @@ public static async deployFrom0xArtifactAsync( ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('DutchAuction', DutchAuctionContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'DutchAuction', + DutchAuctionContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts index e1807954be..bcfd2f5b1c 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -47,38 +50,30 @@ export interface ERC20ProxyAuthorizedAddressRemovedEventArgs extends DecodedLogA caller: string; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC20ProxyContract extends BaseContract { public addAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -86,51 +81,41 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as ERC20ProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -140,9 +125,8 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -151,24 +135,24 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; @@ -177,8 +161,7 @@ export class ERC20ProxyContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -188,9 +171,8 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0 - ]); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -199,54 +181,45 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorities(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - ): string { + getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); - const self = this as any as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0 - ]); + const self = (this as any) as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -254,51 +227,41 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as ERC20ProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -308,9 +271,8 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -319,33 +281,29 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -354,7 +312,7 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; + const self = (this as any) as ERC20ProxyContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -364,20 +322,20 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC20ProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC20ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -386,33 +344,30 @@ export class ERC20ProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( - self, + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ target.toLowerCase(), - index - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -421,57 +376,59 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as ERC20ProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), - index - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as ERC20ProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( + target.toLowerCase(), + index, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -482,10 +439,11 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -494,36 +452,31 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - index: BigNumber, - ): string { + getABIEncodedTransactionData(target: string, index: BigNumber): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = this as any as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'removeAuthorizedAddressAtIndex(address,uint256)', + [target.toLowerCase(), index], + ); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -532,7 +485,7 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; + const self = (this as any) as ERC20ProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -542,20 +495,20 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC20ProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC20ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, @@ -565,8 +518,7 @@ export class ERC20ProxyContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -576,9 +528,8 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -587,33 +538,29 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorized(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ + index_0.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -622,7 +569,7 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; + const self = (this as any) as ERC20ProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -632,51 +579,44 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC20ProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC20ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -684,51 +624,41 @@ export class ERC20ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as ERC20ProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as ERC20ProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -738,9 +668,8 @@ export class ERC20ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -749,33 +678,33 @@ export class ERC20ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as ERC20ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ERC20ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -788,8 +717,11 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return ERC20ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return ERC20ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, @@ -806,17 +738,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -824,18 +752,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC20Proxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC20ProxyContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + const contractInstance = new ERC20ProxyContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -844,13 +776,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'addAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -869,7 +800,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -878,16 +809,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -899,7 +828,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -912,16 +841,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getProxyId', outputs: [ { @@ -933,7 +860,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -952,10 +879,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getAuthorizedAddresses', outputs: [ { @@ -967,7 +893,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -976,22 +902,19 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -1006,11 +929,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AuthorizedAddressAdded', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1025,8 +947,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AuthorizedAddressRemoved', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1100,7 +1021,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('ERC20Proxy', ERC20ProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1108,7 +1034,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts index 5599c751f4..58b2815bc4 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -28,9 +31,7 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable -export type ERC20TokenEventArgs = - | ERC20TokenTransferEventArgs - | ERC20TokenApprovalEventArgs; +export type ERC20TokenEventArgs = ERC20TokenTransferEventArgs | ERC20TokenApprovalEventArgs; export enum ERC20TokenEvents { Transfer = 'Transfer', @@ -49,7 +50,6 @@ export interface ERC20TokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -58,33 +58,30 @@ export class ERC20TokenContract extends BaseContract { async sendTransactionAsync( _spender: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind( - self, + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ _spender.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _spender: string, @@ -93,57 +90,55 @@ export class ERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _spender: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _spender: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -154,10 +149,11 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -166,36 +162,31 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _spender: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_spender: string, _value: BigNumber): string { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); + const self = (this as any) as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -204,7 +195,7 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20TokenContract; + const self = (this as any) as ERC20TokenContract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -214,20 +205,20 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC20TokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC20TokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -237,36 +228,32 @@ export class ERC20TokenContract extends BaseContract { _from: string, _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -276,25 +263,27 @@ export class ERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _value, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -302,28 +291,29 @@ export class ERC20TokenContract extends BaseContract { _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -331,8 +321,7 @@ export class ERC20TokenContract extends BaseContract { _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); @@ -344,11 +333,12 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -357,30 +347,28 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); + const self = (this as any) as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; @@ -389,8 +377,7 @@ export class ERC20TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -400,9 +387,8 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -411,24 +397,22 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - ): string { + getABIEncodedTransactionData(_owner: string): string { assert.isString('_owner', _owner); - const self = this as any as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); return abiEncodedTransactionData; }, }; @@ -436,33 +420,27 @@ export class ERC20TokenContract extends BaseContract { async sendTransactionAsync( _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind( - self, - _to.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -471,57 +449,48 @@ export class ERC20TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - _to: string, - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -532,10 +501,8 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -544,27 +511,26 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _to: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_to: string, _value: BigNumber): string { assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = this as any as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); + const self = (this as any) as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ + _to.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; @@ -574,8 +540,7 @@ export class ERC20TokenContract extends BaseContract { _spender: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_spender', _spender); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -586,10 +551,11 @@ export class ERC20TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC20TokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), - _spender.toLowerCase() - ]); + const self = (this as any) as ERC20TokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -598,36 +564,35 @@ export class ERC20TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - _spender: string, - ): string { + getABIEncodedTransactionData(_owner: string, _spender: string): string { assert.isString('_owner', _owner); assert.isString('_spender', _spender); - const self = this as any as ERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), - _spender.toLowerCase() - ]); + const self = (this as any) as ERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -640,8 +605,11 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return ERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return ERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, @@ -658,17 +626,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -676,18 +640,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC20Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC20TokenContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + const contractInstance = new ERC20TokenContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -710,10 +678,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'totalSupply', outputs: [ { @@ -725,7 +692,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -752,7 +719,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -771,7 +738,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -794,7 +761,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -817,7 +784,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { anonymous: false, inputs: [ { @@ -837,11 +804,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Transfer', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -861,8 +827,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Approval', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -936,7 +901,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('ERC20Token', ERC20TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -944,7 +914,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts index 829d8b8469..ee5085d4ab 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -47,38 +50,30 @@ export interface ERC721ProxyAuthorizedAddressRemovedEventArgs extends DecodedLog caller: string; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC721ProxyContract extends BaseContract { public addAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -86,51 +81,41 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as ERC721ProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -140,9 +125,8 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -151,24 +135,24 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; @@ -177,8 +161,7 @@ export class ERC721ProxyContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -188,9 +171,8 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0 - ]); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -199,54 +181,45 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorities(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - ): string { + getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); - const self = this as any as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0 - ]); + const self = (this as any) as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -254,51 +227,41 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as ERC721ProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -308,9 +271,8 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -319,33 +281,29 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -354,7 +312,7 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; + const self = (this as any) as ERC721ProxyContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -364,20 +322,20 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC721ProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC721ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -386,33 +344,30 @@ export class ERC721ProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( - self, + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ target.toLowerCase(), - index - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -421,57 +376,59 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as ERC721ProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), - index - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as ERC721ProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( + target.toLowerCase(), + index, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -482,10 +439,11 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -494,36 +452,31 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - index: BigNumber, - ): string { + getABIEncodedTransactionData(target: string, index: BigNumber): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = this as any as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'removeAuthorizedAddressAtIndex(address,uint256)', + [target.toLowerCase(), index], + ); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -532,7 +485,7 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; + const self = (this as any) as ERC721ProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -542,20 +495,20 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC721ProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC721ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, @@ -565,8 +518,7 @@ export class ERC721ProxyContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -576,9 +528,8 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -587,33 +538,29 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorized(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ + index_0.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -622,7 +569,7 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; + const self = (this as any) as ERC721ProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -632,51 +579,44 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ERC721ProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC721ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -684,51 +624,41 @@ export class ERC721ProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as ERC721ProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as ERC721ProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -738,9 +668,8 @@ export class ERC721ProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721ProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -749,33 +678,33 @@ export class ERC721ProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as ERC721ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ERC721ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -788,8 +717,11 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return ERC721ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return ERC721ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, @@ -806,17 +738,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -824,18 +752,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC721Proxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC721ProxyContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + const contractInstance = new ERC721ProxyContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -844,13 +776,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'addAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -869,7 +800,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -878,16 +809,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -899,7 +828,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -912,16 +841,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getProxyId', outputs: [ { @@ -933,7 +860,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -952,10 +879,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getAuthorizedAddresses', outputs: [ { @@ -967,7 +893,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -976,22 +902,19 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -1006,11 +929,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AuthorizedAddressAdded', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1025,8 +947,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AuthorizedAddressRemoved', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1100,7 +1021,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('ERC721Proxy', ERC721ProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1108,7 +1034,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts index fe4a3ebfac..2a0420e010 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -57,7 +60,6 @@ export interface ERC721TokenApprovalForAllEventArgs extends DecodedLogArgs { _approved: boolean; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -67,8 +69,7 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -78,9 +79,8 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -89,24 +89,22 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_tokenId: BigNumber): string { assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); return abiEncodedTransactionData; }, }; @@ -114,33 +112,30 @@ export class ERC721TokenContract extends BaseContract { async sendTransactionAsync( _approved: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind( - self, + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ _approved.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind(self, _approved.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _approved: string, @@ -149,57 +144,55 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), _tokenId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _approved: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_approved', _approved); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_approved', _approved); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _approved.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _approved: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -210,10 +203,11 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _approved.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -222,27 +216,26 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _approved: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_approved: string, _tokenId: BigNumber): string { assert.isString('_approved', _approved); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_approved.toLowerCase(), - _tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ + _approved.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -251,36 +244,32 @@ export class ERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -290,25 +279,27 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -316,28 +307,29 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -345,8 +337,7 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -358,11 +349,12 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -371,30 +363,28 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -403,36 +393,32 @@ export class ERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom1.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _tokenId - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom1.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -442,25 +428,27 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const txHashPromise = self.safeTransferFrom1.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const txHashPromise = self.safeTransferFrom1.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -468,28 +456,29 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -497,8 +486,7 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -510,11 +498,12 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -523,30 +512,28 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -555,8 +542,7 @@ export class ERC721TokenContract extends BaseContract { _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -566,9 +552,8 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -577,24 +562,22 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(_tokenId: BigNumber): string { assert.isBigNumber('_tokenId', _tokenId); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); return abiEncodedTransactionData; }, }; @@ -603,8 +586,7 @@ export class ERC721TokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -614,9 +596,8 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -625,24 +606,22 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - ): string { + getABIEncodedTransactionData(_owner: string): string { assert.isString('_owner', _owner); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); return abiEncodedTransactionData; }, }; @@ -650,33 +629,30 @@ export class ERC721TokenContract extends BaseContract { async sendTransactionAsync( _operator: string, _approved: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setApprovalForAll.estimateGasAsync.bind( - self, + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ _operator.toLowerCase(), - _approved - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _approved, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setApprovalForAll.estimateGasAsync.bind(self, _operator.toLowerCase(), _approved), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _operator: string, @@ -685,57 +661,59 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = this as any as ERC721TokenContract; - const txHashPromise = self.setApprovalForAll.sendTransactionAsync(_operator.toLowerCase(), - _approved - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as ERC721TokenContract; + const txHashPromise = self.setApprovalForAll.sendTransactionAsync( + _operator.toLowerCase(), + _approved, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _operator: string, _approved: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _operator: string, _approved: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -746,10 +724,11 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -758,27 +737,26 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _operator: string, - _approved: boolean, - ): string { + getABIEncodedTransactionData(_operator: string, _approved: boolean): string { assert.isString('_operator', _operator); assert.isBoolean('_approved', _approved); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator.toLowerCase(), - _approved - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); return abiEncodedTransactionData; }, }; @@ -788,39 +766,40 @@ export class ERC721TokenContract extends BaseContract { _to: string, _tokenId: BigNumber, _data: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.safeTransferFrom2.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.safeTransferFrom2.estimateGasAsync.bind( + self, + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -831,27 +810,29 @@ export class ERC721TokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = this as any as ERC721TokenContract; - const txHashPromise = self.safeTransferFrom2.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = (this as any) as ERC721TokenContract; + const txHashPromise = self.safeTransferFrom2.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -860,30 +841,31 @@ export class ERC721TokenContract extends BaseContract { _data: string, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -892,8 +874,7 @@ export class ERC721TokenContract extends BaseContract { _data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); @@ -906,12 +887,13 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -920,33 +902,28 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _tokenId: BigNumber, - _data: string, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber, _data: string): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.isString('_data', _data); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [_from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'safeTransferFrom(address,address,uint256,bytes)', + [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data], + ); return abiEncodedTransactionData; }, }; @@ -956,8 +933,7 @@ export class ERC721TokenContract extends BaseContract { _operator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_operator', _operator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -968,10 +944,11 @@ export class ERC721TokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), - _operator.toLowerCase() - ]); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -980,36 +957,35 @@ export class ERC721TokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - _operator: string, - ): string { + getABIEncodedTransactionData(_owner: string, _operator: string): string { assert.isString('_owner', _owner); assert.isString('_operator', _operator); - const self = this as any as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner.toLowerCase(), - _operator.toLowerCase() - ]); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1022,8 +998,11 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return ERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return ERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, @@ -1040,17 +1019,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1058,18 +1033,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ERC721Token successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ERC721TokenContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + const contractInstance = new ERC721TokenContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -1088,7 +1067,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1101,13 +1080,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'approve', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1124,13 +1102,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1147,13 +1124,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'safeTransferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1172,7 +1148,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1191,7 +1167,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1204,13 +1180,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'setApprovalForAll', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1231,13 +1206,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'safeTransferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1260,7 +1234,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { anonymous: false, inputs: [ { @@ -1280,11 +1254,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Transfer', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1304,11 +1277,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Approval', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1328,8 +1300,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'ApprovalForAll', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1403,7 +1374,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('ERC721Token', ERC721TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1411,7 +1387,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts index bc77e5c9b0..e4a6c2ac39 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,7 +23,6 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -33,8 +32,7 @@ export class EthBalanceCheckerContract extends BaseContract { addresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isArray('addresses', addresses); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -44,9 +42,8 @@ export class EthBalanceCheckerContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as EthBalanceCheckerContract; - const encodedData = self._strictEncodeArguments('getEthBalances(address[])', [addresses - ]); + const self = (this as any) as EthBalanceCheckerContract; + const encodedData = self._strictEncodeArguments('getEthBalances(address[])', [addresses]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -55,32 +52,30 @@ export class EthBalanceCheckerContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - addresses: string[], - ): string { + getABIEncodedTransactionData(addresses: string[]): string { assert.isArray('addresses', addresses); - const self = this as any as EthBalanceCheckerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getEthBalances(address[])', [addresses - ]); + const self = (this as any) as EthBalanceCheckerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getEthBalances(address[])', [addresses]); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -93,8 +88,11 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return EthBalanceCheckerContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return EthBalanceCheckerContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, @@ -111,17 +109,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -129,18 +123,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`EthBalanceChecker successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new EthBalanceCheckerContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + const contractInstance = new EthBalanceCheckerContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -162,11 +160,23 @@ public static async deployFrom0xArtifactAsync( ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('EthBalanceChecker', EthBalanceCheckerContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'EthBalanceChecker', + EthBalanceCheckerContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts index 460a0c1d6d..873bde5b79 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -83,7 +86,6 @@ export interface ExchangeAssetProxyRegisteredEventArgs extends DecodedLogArgs { assetProxy: string; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -93,8 +95,7 @@ export class ExchangeContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -104,9 +105,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('filled(bytes32)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('filled(bytes32)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -115,128 +115,179 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('filled(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('filled(bytes32)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('filled(bytes32)', [index_0]); return abiEncodedTransactionData; }, }; public batchFillOrders = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchFillOrders.estimateGasAsync.bind( - self, - orders, - takerAssetFillAmounts, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchFillOrders.estimateGasAsync.bind(self, orders, takerAssetFillAmounts, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.batchFillOrders.sendTransactionAsync(orders, - takerAssetFillAmounts, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.batchFillOrders.sendTransactionAsync( + orders, + takerAssetFillAmounts, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); @@ -248,11 +299,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -261,30 +312,51 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); return abiEncodedTransactionData; }, }; @@ -293,8 +365,7 @@ export class ExchangeContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -304,9 +375,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelled(bytes32)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -315,24 +385,22 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('cancelled(bytes32)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); return abiEncodedTransactionData; }, }; @@ -341,36 +409,32 @@ export class ExchangeContract extends BaseContract { hash: string, signerAddress: string, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.preSign.estimateGasAsync.bind( - self, + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ hash, signerAddress.toLowerCase(), - signature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + signature, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.preSign.estimateGasAsync.bind(self, hash, signerAddress.toLowerCase(), signature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( hash: string, @@ -380,25 +444,27 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const txHashPromise = self.preSign.sendTransactionAsync(hash, - signerAddress.toLowerCase(), - signature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.preSign.sendTransactionAsync( + hash, + signerAddress.toLowerCase(), + signature, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( hash: string, @@ -406,28 +472,29 @@ export class ExchangeContract extends BaseContract { signature: string, txData?: Partial | undefined, ): Promise { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( hash: string, @@ -435,8 +502,7 @@ export class ExchangeContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); @@ -448,11 +514,12 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -461,147 +528,248 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('preSign(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - hash: string, - signerAddress: string, - signature: string, - ): string { + getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('preSign(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); return abiEncodedTransactionData; }, }; public matchOrders = { async sendTransactionAsync( - leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + leftOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, leftSignature: string, rightSignature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - - - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, - rightOrder, - leftSignature, - rightSignature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.matchOrders.estimateGasAsync.bind( - self, - leftOrder, - rightOrder, - leftSignature, - rightSignature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [leftOrder, rightOrder, leftSignature, rightSignature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.matchOrders.estimateGasAsync.bind(self, leftOrder, rightOrder, leftSignature, rightSignature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + leftOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, leftSignature: string, rightSignature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); - const self = this as any as ExchangeContract; - const txHashPromise = self.matchOrders.sendTransactionAsync(leftOrder, - rightOrder, - leftSignature, - rightSignature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.matchOrders.sendTransactionAsync( + leftOrder, + rightOrder, + leftSignature, + rightSignature, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + leftOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, leftSignature: string, rightSignature: string, txData?: Partial | undefined, ): Promise { - - - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, - rightOrder, - leftSignature, - rightSignature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [leftOrder, rightOrder, leftSignature, rightSignature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + leftOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, leftSignature: string, rightSignature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} - > { - - + ): Promise<{ + left: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + right: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + leftMakerAssetSpreadAmount: BigNumber; + }> { assert.isString('leftSignature', leftSignature); assert.isString('rightSignature', rightSignature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -612,12 +780,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, - rightOrder, - leftSignature, - rightSignature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [leftOrder, rightOrder, leftSignature, rightSignature], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -626,138 +793,227 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{left: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};right: {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber};leftMakerAssetSpreadAmount: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + left: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + right: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }; + leftMakerAssetSpreadAmount: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - leftOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - rightOrder: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - leftSignature: string, - rightSignature: string, - ): string { - - + leftOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + leftSignature: string, + rightSignature: string, + ): string { assert.isString('leftSignature', leftSignature); assert.isString('rightSignature', rightSignature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', [leftOrder, - rightOrder, - leftSignature, - rightSignature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)', + [leftOrder, rightOrder, leftSignature, rightSignature], + ); return abiEncodedTransactionData; }, }; public fillOrderNoThrow = { async sendTransactionAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.fillOrderNoThrow.estimateGasAsync.bind( - self, - order, - takerAssetFillAmount, - signature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.fillOrderNoThrow.estimateGasAsync.bind(self, order, takerAssetFillAmount, signature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const txHashPromise = self.fillOrderNoThrow.sendTransactionAsync(order, - takerAssetFillAmount, - signature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.fillOrderNoThrow.sendTransactionAsync( + order, + takerAssetFillAmount, + signature, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial | undefined, ): Promise { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { - + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -768,11 +1024,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -781,40 +1037,55 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { - + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + takerAssetFillAmount: BigNumber, + signature: string, + ): string { assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); return abiEncodedTransactionData; }, }; public assetProxies = { - async callAsync( - index_0: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(index_0: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -824,9 +1095,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -835,106 +1105,155 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('assetProxies(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); return abiEncodedTransactionData; }, }; public batchCancelOrders = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - txData?: Partial | undefined, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchCancelOrders.estimateGasAsync.bind( - self, - orders - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + [orders], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchCancelOrders.estimateGasAsync.bind(self, orders), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - const self = this as any as ExchangeContract; - const txHashPromise = self.batchCancelOrders.sendTransactionAsync(orders - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.batchCancelOrders.sendTransactionAsync(orders, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + [orders], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isArray('orders', orders); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -944,9 +1263,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + [orders], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -955,128 +1276,199 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])'); + const abiEncoder = self._lookupAbiEncoder( + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + ): string { assert.isArray('orders', orders); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + [orders], + ); return abiEncodedTransactionData; }, }; public batchFillOrKillOrders = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchFillOrKillOrders.estimateGasAsync.bind( - self, - orders, - takerAssetFillAmounts, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchFillOrKillOrders.estimateGasAsync.bind(self, orders, takerAssetFillAmounts, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.batchFillOrKillOrders.sendTransactionAsync(orders, - takerAssetFillAmounts, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.batchFillOrKillOrders.sendTransactionAsync( + orders, + takerAssetFillAmounts, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); @@ -1088,11 +1480,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1101,60 +1493,74 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); return abiEncodedTransactionData; }, }; public cancelOrdersUpTo = { - async sendTransactionAsync( - targetOrderEpoch: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.cancelOrdersUpTo.estimateGasAsync.bind( - self, - targetOrderEpoch - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.cancelOrdersUpTo.estimateGasAsync.bind(self, targetOrderEpoch), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( targetOrderEpoch: BigNumber, @@ -1162,51 +1568,45 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = this as any as ExchangeContract; - const txHashPromise = self.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - targetOrderEpoch: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( targetOrderEpoch: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1216,9 +1616,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1227,128 +1626,181 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('cancelOrdersUpTo(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - targetOrderEpoch: BigNumber, - ): string { + getABIEncodedTransactionData(targetOrderEpoch: BigNumber): string { assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [ + targetOrderEpoch, + ]); return abiEncodedTransactionData; }, }; public batchFillOrdersNoThrow = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.batchFillOrdersNoThrow.estimateGasAsync.bind( - self, - orders, - takerAssetFillAmounts, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.batchFillOrdersNoThrow.estimateGasAsync.bind(self, orders, takerAssetFillAmounts, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.batchFillOrdersNoThrow.sendTransactionAsync(orders, - takerAssetFillAmounts, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.batchFillOrdersNoThrow.sendTransactionAsync( + orders, + takerAssetFillAmounts, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); @@ -1360,11 +1812,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1373,30 +1825,51 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', [orders, - takerAssetFillAmounts, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); return abiEncodedTransactionData; }, }; @@ -1405,8 +1878,7 @@ export class ExchangeContract extends BaseContract { assetProxyId: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxyId', assetProxyId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1416,9 +1888,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1427,24 +1898,22 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetProxyId: string, - ): string { + getABIEncodedTransactionData(assetProxyId: string): string { assert.isString('assetProxyId', assetProxyId); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); return abiEncodedTransactionData; }, }; @@ -1453,8 +1922,7 @@ export class ExchangeContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1464,9 +1932,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('transactions(bytes32)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('transactions(bytes32)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1475,129 +1942,176 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transactions(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactions(bytes32)', [index_0 - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transactions(bytes32)', [index_0]); return abiEncodedTransactionData; }, }; public fillOrKillOrder = { async sendTransactionAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.fillOrKillOrder.estimateGasAsync.bind( - self, - order, - takerAssetFillAmount, - signature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.fillOrKillOrder.estimateGasAsync.bind(self, order, takerAssetFillAmount, signature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const txHashPromise = self.fillOrKillOrder.sendTransactionAsync(order, - takerAssetFillAmount, - signature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.fillOrKillOrder.sendTransactionAsync( + order, + takerAssetFillAmount, + signature, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial | undefined, ): Promise { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { - + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1608,11 +2122,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1621,30 +2135,50 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { - + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + takerAssetFillAmount: BigNumber, + signature: string, + ): string { assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); return abiEncodedTransactionData; }, }; @@ -1652,33 +2186,34 @@ export class ExchangeContract extends BaseContract { async sendTransactionAsync( validatorAddress: string, approval: boolean, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), - approval - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.setSignatureValidatorApproval.estimateGasAsync.bind( - self, + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ validatorAddress.toLowerCase(), - approval - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + approval, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.setSignatureValidatorApproval.estimateGasAsync.bind( + self, + validatorAddress.toLowerCase(), + approval, + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( validatorAddress: string, @@ -1687,57 +2222,59 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = this as any as ExchangeContract; - const txHashPromise = self.setSignatureValidatorApproval.sendTransactionAsync(validatorAddress.toLowerCase(), - approval - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.setSignatureValidatorApproval.sendTransactionAsync( + validatorAddress.toLowerCase(), + approval, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( validatorAddress: string, approval: boolean, txData?: Partial | undefined, ): Promise { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), - approval - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ + validatorAddress.toLowerCase(), + approval, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( validatorAddress: string, approval: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('validatorAddress', validatorAddress); assert.isBoolean('approval', approval); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1748,10 +2285,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), - approval - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ + validatorAddress.toLowerCase(), + approval, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1760,27 +2298,26 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - validatorAddress: string, - approval: boolean, - ): string { + getABIEncodedTransactionData(validatorAddress: string, approval: boolean): string { assert.isString('validatorAddress', validatorAddress); assert.isBoolean('approval', approval); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [validatorAddress.toLowerCase(), - approval - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'setSignatureValidatorApproval(address,bool)', + [validatorAddress.toLowerCase(), approval], + ); return abiEncodedTransactionData; }, }; @@ -1790,8 +2327,7 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1802,10 +2338,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('allowedValidators(address,address)', [index_0.toLowerCase(), - index_1.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('allowedValidators(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1814,131 +2351,183 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - index_1: string, - ): string { + getABIEncodedTransactionData(index_0: string, index_1: string): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowedValidators(address,address)', [index_0.toLowerCase(), - index_1.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowedValidators(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public marketSellOrders = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketSellOrders.estimateGasAsync.bind( - self, - orders, - takerAssetFillAmount, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketSellOrders.estimateGasAsync.bind(self, orders, takerAssetFillAmount, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.marketSellOrders.sendTransactionAsync(orders, - takerAssetFillAmount, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.marketSellOrders.sendTransactionAsync( + orders, + takerAssetFillAmount, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); @@ -1950,11 +2539,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1963,40 +2552,73 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); return abiEncodedTransactionData; }, }; public getOrdersInfo = { async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise - > { + ): Promise> { assert.isArray('orders', orders); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -2006,9 +2628,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + [orders], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2017,24 +2641,44 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }> + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + ): string { assert.isArray('orders', orders); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', [orders - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])', + [orders], + ); return abiEncodedTransactionData; }, }; @@ -2044,8 +2688,7 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2056,10 +2699,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSigned(bytes32,address)', [index_0, - index_1.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSigned(bytes32,address)', [ + index_0, + index_1.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2068,36 +2712,31 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('preSigned(bytes32,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - index_1: string, - ): string { + getABIEncodedTransactionData(index_0: string, index_1: string): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('preSigned(bytes32,address)', [index_0, - index_1.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('preSigned(bytes32,address)', [ + index_0, + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2106,7 +2745,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; + const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2116,20 +2755,20 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ExchangeContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -2141,8 +2780,7 @@ export class ExchangeContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); @@ -2154,11 +2792,12 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2167,134 +2806,185 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - hash: string, - signerAddress: string, - signature: string, - ): string { + getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); return abiEncodedTransactionData; }, }; public marketBuyOrdersNoThrow = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketBuyOrdersNoThrow.estimateGasAsync.bind( - self, - orders, - makerAssetFillAmount, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketBuyOrdersNoThrow.estimateGasAsync.bind(self, orders, makerAssetFillAmount, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.marketBuyOrdersNoThrow.sendTransactionAsync(orders, - makerAssetFillAmount, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.marketBuyOrdersNoThrow.sendTransactionAsync( + orders, + makerAssetFillAmount, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); @@ -2306,11 +2996,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2319,135 +3009,200 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - makerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); return abiEncodedTransactionData; }, }; public fillOrder = { async sendTransactionAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.fillOrder.estimateGasAsync.bind( - self, - order, - takerAssetFillAmount, - signature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.fillOrder.estimateGasAsync.bind(self, order, takerAssetFillAmount, signature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const txHashPromise = self.fillOrder.sendTransactionAsync(order, - takerAssetFillAmount, - signature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.fillOrder.sendTransactionAsync(order, takerAssetFillAmount, signature, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, txData?: Partial | undefined, ): Promise { - - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAssetFillAmount: BigNumber, signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { - + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2458,11 +3213,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2471,30 +3226,50 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { - + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + takerAssetFillAmount: BigNumber, + signature: string, + ): string { assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', [order, - takerAssetFillAmount, - signature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], + ); return abiEncodedTransactionData; }, }; @@ -2504,39 +3279,34 @@ export class ExchangeContract extends BaseContract { signerAddress: string, data: string, signature: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isBigNumber('salt', salt); - assert.isString('signerAddress', signerAddress); - assert.isString('data', data); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, - signerAddress.toLowerCase(), - data, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.executeTransaction.estimateGasAsync.bind( - self, + assert.isBigNumber('salt', salt); + assert.isString('signerAddress', signerAddress); + assert.isString('data', data); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [ salt, signerAddress.toLowerCase(), data, - signature - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + signature, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.executeTransaction.estimateGasAsync.bind(self, salt, signerAddress.toLowerCase(), data, signature), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( salt: BigNumber, @@ -2547,27 +3317,29 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('salt', salt); - assert.isString('signerAddress', signerAddress); - assert.isString('data', data); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync(salt, - signerAddress.toLowerCase(), - data, - signature - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('salt', salt); + assert.isString('signerAddress', signerAddress); + assert.isString('data', data); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.executeTransaction.sendTransactionAsync( + salt, + signerAddress.toLowerCase(), + data, + signature, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( salt: BigNumber, @@ -2576,30 +3348,31 @@ export class ExchangeContract extends BaseContract { signature: string, txData?: Partial | undefined, ): Promise { - assert.isBigNumber('salt', salt); - assert.isString('signerAddress', signerAddress); - assert.isString('data', data); - assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, - signerAddress.toLowerCase(), - data, - signature - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isBigNumber('salt', salt); + assert.isString('signerAddress', signerAddress); + assert.isString('data', data); + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [ + salt, + signerAddress.toLowerCase(), + data, + signature, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( salt: BigNumber, @@ -2608,8 +3381,7 @@ export class ExchangeContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('salt', salt); assert.isString('signerAddress', signerAddress); assert.isString('data', data); @@ -2622,12 +3394,13 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, - signerAddress.toLowerCase(), - data, - signature - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [ + salt, + signerAddress.toLowerCase(), + data, + signature, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2636,63 +3409,51 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256,address,bytes,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - salt: BigNumber, - signerAddress: string, - data: string, - signature: string, - ): string { + getABIEncodedTransactionData(salt: BigNumber, signerAddress: string, data: string, signature: string): string { assert.isBigNumber('salt', salt); assert.isString('signerAddress', signerAddress); assert.isString('data', data); assert.isString('signature', signature); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256,address,bytes,bytes)', [salt, - signerAddress.toLowerCase(), - data, - signature - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'executeTransaction(uint256,address,bytes,bytes)', + [salt, signerAddress.toLowerCase(), data, signature], + ); return abiEncodedTransactionData; }, }; public registerAssetProxy = { - async sendTransactionAsync( - assetProxy: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('assetProxy', assetProxy); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.registerAssetProxy.estimateGasAsync.bind( - self, - assetProxy.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(assetProxy: string, txData?: Partial | undefined): Promise { + assert.isString('assetProxy', assetProxy); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.registerAssetProxy.estimateGasAsync.bind(self, assetProxy.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetProxy: string, @@ -2700,51 +3461,45 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxy', assetProxy); - const self = this as any as ExchangeContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetProxy', assetProxy); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - assetProxy: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('assetProxy', assetProxy); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(assetProxy: string, txData?: Partial | undefined): Promise { + assert.isString('assetProxy', assetProxy); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetProxy: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxy', assetProxy); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -2754,9 +3509,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2765,35 +3519,46 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetProxy: string, - ): string { + getABIEncodedTransactionData(assetProxy: string): string { assert.isString('assetProxy', assetProxy); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [ + assetProxy.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public getOrderInfo = { async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber} - > { - + ): Promise<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }> { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2802,9 +3567,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2813,107 +3580,173 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + orderStatus: number; + orderHash: string; + orderTakerAssetFilledAmount: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - ): string { - - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); + getABIEncodedTransactionData(order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }): string { + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); return abiEncodedTransactionData; }, }; public cancelOrder = { async sendTransactionAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - txData?: Partial | undefined, - ): Promise { - - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; }, - self._web3Wrapper.getContractDefaults(), - self.cancelOrder.estimateGasAsync.bind( - self, - order - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + txData?: Partial | undefined, + ): Promise { + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.cancelOrder.estimateGasAsync.bind(self, order), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - - const self = this as any as ExchangeContract; - const txHashPromise = self.cancelOrder.sendTransactionAsync(order - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.cancelOrder.sendTransactionAsync(order, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, txData?: Partial | undefined, ): Promise { - - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2922,9 +3755,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2933,24 +3768,39 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'); + const abiEncoder = self._lookupAbiEncoder( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - ): string { - - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', [order - ]); + getABIEncodedTransactionData(order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }): string { + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))', + [order], + ); return abiEncodedTransactionData; }, }; @@ -2960,8 +3810,7 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -2972,10 +3821,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('orderEpoch(address,address)', [index_0.toLowerCase(), - index_1.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('orderEpoch(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2984,36 +3834,31 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - index_1: string, - ): string { + getABIEncodedTransactionData(index_0: string, index_1: string): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('orderEpoch(address,address)', [index_0.toLowerCase(), - index_1.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('orderEpoch(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public ZRX_ASSET_DATA = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3022,7 +3867,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; + const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments('ZRX_ASSET_DATA()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3032,125 +3877,178 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('ZRX_ASSET_DATA()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ExchangeContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('ZRX_ASSET_DATA()', []); return abiEncodedTransactionData; }, }; public marketSellOrdersNoThrow = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketSellOrdersNoThrow.estimateGasAsync.bind( - self, - orders, - takerAssetFillAmount, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketSellOrdersNoThrow.estimateGasAsync.bind(self, orders, takerAssetFillAmount, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.marketSellOrdersNoThrow.sendTransactionAsync(orders, - takerAssetFillAmount, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.marketSellOrdersNoThrow.sendTransactionAsync( + orders, + takerAssetFillAmount, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); @@ -3162,11 +4060,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3175,39 +4073,56 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - takerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); return abiEncodedTransactionData; }, }; public EIP712_DOMAIN_HASH = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3216,7 +4131,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; + const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments('EIP712_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3226,125 +4141,178 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('EIP712_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ExchangeContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, }; public marketBuyOrders = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketBuyOrders.estimateGasAsync.bind( - self, - orders, - makerAssetFillAmount, - signatures - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketBuyOrders.estimateGasAsync.bind(self, orders, makerAssetFillAmount, signatures), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const txHashPromise = self.marketBuyOrders.sendTransactionAsync(orders, - makerAssetFillAmount, - signatures - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.marketBuyOrders.sendTransactionAsync( + orders, + makerAssetFillAmount, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - > { + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }> { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); @@ -3356,11 +4324,11 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3369,39 +4337,56 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - makerAssetFillAmount: BigNumber, - signatures: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], + ): string { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', [orders, - makerAssetFillAmount, - signatures - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], + ); return abiEncodedTransactionData; }, }; public currentContextAddress = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3410,7 +4395,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; + const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments('currentContextAddress()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3420,51 +4405,44 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('currentContextAddress()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ExchangeContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('currentContextAddress()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -3472,51 +4450,41 @@ export class ExchangeContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as ExchangeContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -3526,9 +4494,8 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3537,33 +4504,29 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public VERSION = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3572,7 +4535,7 @@ export class ExchangeContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ExchangeContract; + const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments('VERSION()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3582,31 +4545,31 @@ export class ExchangeContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('VERSION()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ExchangeContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments('VERSION()', []); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _zrxAssetData: string, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _zrxAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -3619,9 +4582,18 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return ExchangeContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _zrxAssetData -); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return ExchangeContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, + _zrxAssetData, + ); } public static async deployAsync( bytecode: string, @@ -3629,7 +4601,7 @@ public static async deployFrom0xArtifactAsync( supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _zrxAssetData: string, + _zrxAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -3639,20 +4611,17 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_zrxAssetData -] = BaseContract._formatABIDataItemList( + [_zrxAssetData] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_zrxAssetData -], + [_zrxAssetData], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_zrxAssetData -]); + const txData = deployInfo.encode(bytecode, [_zrxAssetData]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -3660,19 +4629,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`Exchange successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ExchangeContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); - contractInstance.constructorArgs = [_zrxAssetData -]; + const contractInstance = new ExchangeContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); + contractInstance.constructorArgs = [_zrxAssetData]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -3691,7 +4663,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -3746,7 +4718,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmounts', @@ -3779,14 +4751,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -3805,7 +4777,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -3822,13 +4794,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'preSign', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -3883,7 +4854,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'rightOrder', @@ -3937,7 +4908,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'leftSignature', @@ -3974,7 +4945,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, { name: 'right', @@ -3996,20 +4967,20 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, { name: 'leftMakerAssetSpreadAmount', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4064,7 +5035,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmount', @@ -4097,14 +5068,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4123,7 +5094,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4178,17 +5149,16 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, ], name: 'batchCancelOrders', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4243,7 +5213,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmounts', @@ -4276,14 +5246,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4292,13 +5262,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'cancelOrdersUpTo', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4353,7 +5322,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmounts', @@ -4386,14 +5355,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4412,7 +5381,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4431,7 +5400,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4486,7 +5455,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmount', @@ -4519,14 +5488,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4539,13 +5508,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'setSignatureValidatorApproval', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4568,7 +5536,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4623,7 +5591,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmount', @@ -4656,14 +5624,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4718,7 +5686,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, ], name: 'getOrdersInfo', @@ -4739,14 +5707,14 @@ public static async deployFrom0xArtifactAsync( name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4769,10 +5737,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -4784,7 +5751,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -4811,7 +5778,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4866,7 +5833,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'makerAssetFillAmount', @@ -4899,14 +5866,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -4961,7 +5928,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmount', @@ -4994,14 +5961,14 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5022,13 +5989,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'executeTransaction', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5037,13 +6003,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'registerAssetProxy', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5098,7 +6063,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, ], name: 'getOrderInfo', @@ -5119,14 +6084,14 @@ public static async deployFrom0xArtifactAsync( name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5181,17 +6146,16 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, ], name: 'cancelOrder', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -5214,10 +6178,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'ZRX_ASSET_DATA', outputs: [ { @@ -5229,7 +6192,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5284,7 +6247,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAssetFillAmount', @@ -5317,17 +6280,16 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'EIP712_DOMAIN_HASH', outputs: [ { @@ -5339,7 +6301,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5394,7 +6356,7 @@ public static async deployFrom0xArtifactAsync( name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'makerAssetFillAmount', @@ -5427,17 +6389,16 @@ public static async deployFrom0xArtifactAsync( name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'currentContextAddress', outputs: [ { @@ -5449,7 +6410,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -5458,16 +6419,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'VERSION', outputs: [ { @@ -5479,20 +6438,19 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_zrxAssetData', type: 'bytes', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -5512,11 +6470,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'SignatureValidatorApproval', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -5576,11 +6533,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Fill', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -5615,11 +6571,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Cancel', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -5639,11 +6594,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'CancelUpTo', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -5658,8 +6612,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AssetProxyRegistered', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -5733,7 +6686,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('Exchange', ExchangeContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -5741,7 +6699,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts index efe2ed7409..4a4e7f68ef 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,68 +23,123 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ForwarderContract extends BaseContract { public marketBuyOrdersWithEth = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketBuyOrdersWithEth.estimateGasAsync.bind( - self, - orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [ + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + ], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketBuyOrdersWithEth.estimateGasAsync.bind( + self, + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, @@ -92,86 +147,158 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const txHashPromise = self.marketBuyOrdersWithEth.sendTransactionAsync(orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = (this as any) as ForwarderContract; + const txHashPromise = self.marketBuyOrdersWithEth.sendTransactionAsync( + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [ + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + ], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, makerAssetFillAmount: BigNumber, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] + ): Promise< + [ + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }, + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + } + ] > { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); @@ -188,15 +315,19 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [ + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + ], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -205,26 +336,70 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)'); + const abiEncoder = self._lookupAbiEncoder( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + [ + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }, + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + } + ] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - makerAssetFillAmount: BigNumber, - signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - feeSignatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + feeSignatures: string[], + feePercentage: BigNumber, + feeRecipient: string, + ): string { assert.isArray('orders', orders); assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); assert.isArray('signatures', signatures); @@ -232,15 +407,19 @@ export class ForwarderContract extends BaseContract { assert.isArray('feeSignatures', feeSignatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - makerAssetFillAmount, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); + const self = (this as any) as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [ + orders, + makerAssetFillAmount, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + ], + ); return abiEncodedTransactionData; }, }; @@ -248,33 +427,27 @@ export class ForwarderContract extends BaseContract { async sendTransactionAsync( assetData: string, amount: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, - amount - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.withdrawAsset.estimateGasAsync.bind( - self, - assetData, - amount - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.withdrawAsset.estimateGasAsync.bind(self, assetData, amount), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetData: string, @@ -283,57 +456,52 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = this as any as ForwarderContract; - const txHashPromise = self.withdrawAsset.sendTransactionAsync(assetData, - amount - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = (this as any) as ForwarderContract; + const txHashPromise = self.withdrawAsset.sendTransactionAsync(assetData, amount, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( assetData: string, amount: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, - amount - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetData: string, amount: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetData', assetData); assert.isBigNumber('amount', amount); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -344,10 +512,8 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, - amount - ]); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -356,36 +522,31 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetData: string, - amount: BigNumber, - ): string { + getABIEncodedTransactionData(assetData: string, amount: BigNumber): string { assert.isString('assetData', assetData); assert.isBigNumber('amount', amount); - const self = this as any as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, - amount - ]); + const self = (this as any) as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [ + assetData, + amount, + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -394,7 +555,7 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ForwarderContract; + const self = (this as any) as ForwarderContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -404,157 +565,271 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ForwarderContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ForwarderContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, }; public marketSellOrdersWithEth = { async sendTransactionAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.marketSellOrdersWithEth.estimateGasAsync.bind( - self, + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.marketSellOrdersWithEth.estimateGasAsync.bind( + self, + orders, + signatures, + feeOrders, + feeSignatures, + feePercentage, + feeRecipient.toLowerCase(), + ), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; + }, + awaitTransactionSuccessAsync( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + signatures: string[], + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + feeSignatures: string[], + feePercentage: BigNumber, + feeRecipient: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = (this as any) as ForwarderContract; + const txHashPromise = self.marketSellOrdersWithEth.sendTransactionAsync( orders, signatures, feeOrders, feeSignatures, feePercentage, - feeRecipient.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; - }, - awaitTransactionSuccessAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - feeSignatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const txHashPromise = self.marketSellOrdersWithEth.sendTransactionAsync(orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + feeRecipient.toLowerCase(), + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isArray('feeOrders', feeOrders); - assert.isArray('feeSignatures', feeSignatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); + assert.isArray('feeOrders', feeOrders); + assert.isArray('feeSignatures', feeSignatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, feeSignatures: string[], feePercentage: BigNumber, feeRecipient: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] + ): Promise< + [ + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }, + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + } + ] > { assert.isArray('orders', orders); assert.isArray('signatures', signatures); @@ -570,14 +845,11 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -586,69 +858,103 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)'); + const abiEncoder = self._lookupAbiEncoder( + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[{makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}, {makerAssetFilledAmount: BigNumber;takerAssetFilledAmount: BigNumber;makerFeePaid: BigNumber;takerFeePaid: BigNumber}] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + [ + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + }, + { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + } + ] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - signatures: string[], - feeOrders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - feeSignatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + signatures: string[], + feeOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + feeSignatures: string[], + feePercentage: BigNumber, + feeRecipient: string, + ): string { assert.isArray('orders', orders); assert.isArray('signatures', signatures); assert.isArray('feeOrders', feeOrders); assert.isArray('feeSignatures', feeSignatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); - const self = this as any as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', [orders, - signatures, - feeOrders, - feeSignatures, - feePercentage, - feeRecipient.toLowerCase() - ]); + const self = (this as any) as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)', + [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()], + ); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -656,51 +962,41 @@ export class ForwarderContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as ForwarderContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as ForwarderContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -710,9 +1006,8 @@ export class ForwarderContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -721,35 +1016,35 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _exchange: string, - _zrxAssetData: string, - _wethAssetData: string, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _exchange: string, + _zrxAssetData: string, + _wethAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -762,11 +1057,20 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return ForwarderContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _exchange, -_zrxAssetData, -_wethAssetData -); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return ForwarderContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, + _exchange, + _zrxAssetData, + _wethAssetData, + ); } public static async deployAsync( bytecode: string, @@ -774,9 +1078,9 @@ _wethAssetData supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _exchange: string, - _zrxAssetData: string, - _wethAssetData: string, + _exchange: string, + _zrxAssetData: string, + _wethAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -786,26 +1090,17 @@ _wethAssetData ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange, -_zrxAssetData, -_wethAssetData -] = BaseContract._formatABIDataItemList( + [_exchange, _zrxAssetData, _wethAssetData] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange, -_zrxAssetData, -_wethAssetData -], + [_exchange, _zrxAssetData, _wethAssetData], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange, -_zrxAssetData, -_wethAssetData -]); + const txData = deployInfo.encode(bytecode, [_exchange, _zrxAssetData, _wethAssetData]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -813,21 +1108,22 @@ _wethAssetData logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`Forwarder successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ForwarderContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); - contractInstance.constructorArgs = [_exchange, -_zrxAssetData, -_wethAssetData -]; + const contractInstance = new ForwarderContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); + contractInstance.constructorArgs = [_exchange, _zrxAssetData, _wethAssetData]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -882,7 +1178,7 @@ _wethAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'makerAssetFillAmount', @@ -944,7 +1240,7 @@ _wethAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'feeSignatures', @@ -981,7 +1277,7 @@ _wethAssetData name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, { name: 'feeOrderFillResults', @@ -1003,14 +1299,14 @@ _wethAssetData name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: true, stateMutability: 'payable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1023,16 +1319,14 @@ _wethAssetData }, ], name: 'withdrawAsset', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -1044,7 +1338,7 @@ _wethAssetData stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1099,7 +1393,7 @@ _wethAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'signatures', @@ -1157,7 +1451,7 @@ _wethAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'feeSignatures', @@ -1194,7 +1488,7 @@ _wethAssetData name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, { name: 'feeOrderFillResults', @@ -1216,14 +1510,14 @@ _wethAssetData name: 'takerFeePaid', type: 'uint256', }, - ] + ], }, ], payable: true, stateMutability: 'payable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1232,13 +1526,12 @@ _wethAssetData }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { inputs: [ { name: '_exchange', @@ -1253,17 +1546,14 @@ _wethAssetData type: 'bytes', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: true, stateMutability: 'payable', type: 'fallback', @@ -1271,11 +1561,16 @@ _wethAssetData ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('Forwarder', ForwarderContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts index 0f9485156a..13b92cc118 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,38 +23,30 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class IAssetProxyContract extends BaseContract { public addAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -62,51 +54,41 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as IAssetProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -116,9 +98,8 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -127,54 +108,47 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -182,51 +156,41 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as IAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -236,9 +200,8 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -247,24 +210,24 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; @@ -272,33 +235,30 @@ export class IAssetProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( - self, + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ target.toLowerCase(), - index - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -307,57 +267,59 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as IAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), - index - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as IAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( + target.toLowerCase(), + index, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -368,10 +330,11 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -380,27 +343,26 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - index: BigNumber, - ): string { + getABIEncodedTransactionData(target: string, index: BigNumber): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = this as any as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'removeAuthorizedAddressAtIndex(address,uint256)', + [target.toLowerCase(), index], + ); return abiEncodedTransactionData; }, }; @@ -410,39 +372,34 @@ export class IAssetProxyContract extends BaseContract { from: string, to: string, amount: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, - from.toLowerCase(), - to.toLowerCase(), - amount - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ assetData, from.toLowerCase(), to.toLowerCase(), - amount - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + amount, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, assetData, from.toLowerCase(), to.toLowerCase(), amount), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetData: string, @@ -453,27 +410,29 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); - const self = this as any as IAssetProxyContract; - const txHashPromise = self.transferFrom.sendTransactionAsync(assetData, - from.toLowerCase(), - to.toLowerCase(), - amount - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); + const self = (this as any) as IAssetProxyContract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + assetData, + from.toLowerCase(), + to.toLowerCase(), + amount, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( assetData: string, @@ -482,30 +441,31 @@ export class IAssetProxyContract extends BaseContract { amount: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, - from.toLowerCase(), - to.toLowerCase(), - amount - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ + assetData, + from.toLowerCase(), + to.toLowerCase(), + amount, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetData: string, @@ -514,8 +474,7 @@ export class IAssetProxyContract extends BaseContract { amount: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetData', assetData); assert.isString('from', from); assert.isString('to', to); @@ -528,12 +487,13 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, - from.toLowerCase(), - to.toLowerCase(), - amount - ]); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ + assetData, + from.toLowerCase(), + to.toLowerCase(), + amount, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -542,42 +502,33 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetData: string, - from: string, - to: string, - amount: BigNumber, - ): string { + getABIEncodedTransactionData(assetData: string, from: string, to: string, amount: BigNumber): string { assert.isString('assetData', assetData); assert.isString('from', from); assert.isString('to', to); assert.isBigNumber('amount', amount); - const self = this as any as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [assetData, - from.toLowerCase(), - to.toLowerCase(), - amount - ]); + const self = (this as any) as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'transferFrom(bytes,address,address,uint256)', + [assetData, from.toLowerCase(), to.toLowerCase(), amount], + ); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -586,7 +537,7 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; + const self = (this as any) as IAssetProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -596,30 +547,26 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as IAssetProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as IAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -628,7 +575,7 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; + const self = (this as any) as IAssetProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -638,51 +585,44 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as IAssetProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as IAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -690,51 +630,41 @@ export class IAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as IAssetProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as IAssetProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -744,9 +674,8 @@ export class IAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as IAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -755,32 +684,32 @@ export class IAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as IAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as IAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -793,8 +722,11 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return IAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return IAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, @@ -811,17 +743,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -829,18 +757,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`IAssetProxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new IAssetProxyContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + const contractInstance = new IAssetProxyContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: false, inputs: [ { @@ -849,13 +781,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'addAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -864,13 +795,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -883,13 +813,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -910,16 +839,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferFrom', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getProxyId', outputs: [ { @@ -931,10 +858,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'pure', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getAuthorizedAddresses', outputs: [ { @@ -946,7 +872,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -955,8 +881,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', @@ -964,11 +889,16 @@ public static async deployFrom0xArtifactAsync( ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('IAssetProxy', IAssetProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts index a579445d03..fd016262d4 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,7 +23,6 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -35,8 +34,7 @@ export class IValidatorContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); @@ -48,11 +46,12 @@ export class IValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IValidatorContract; - const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); + const self = (this as any) as IValidatorContract; + const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -61,38 +60,36 @@ export class IValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - hash: string, - signerAddress: string, - signature: string, - ): string { + getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { assert.isString('hash', hash); assert.isString('signerAddress', signerAddress); assert.isString('signature', signature); - const self = this as any as IValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [hash, - signerAddress.toLowerCase(), - signature - ]); + const self = (this as any) as IValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, + ]); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -105,8 +102,11 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return IValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return IValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, @@ -123,17 +123,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -141,18 +137,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`IValidator successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new IValidatorContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + const contractInstance = new IValidatorContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -182,11 +182,16 @@ public static async deployFrom0xArtifactAsync( ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('IValidator', IValidatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts index df213acdc8..20a8250ba8 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,7 +23,6 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name @@ -34,8 +33,7 @@ export class IWalletContract extends BaseContract { signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('hash', hash); assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -46,10 +44,8 @@ export class IWalletContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as IWalletContract; - const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [hash, - signature - ]); + const self = (this as any) as IWalletContract; + const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [hash, signature]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -58,35 +54,34 @@ export class IWalletContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - hash: string, - signature: string, - ): string { + getABIEncodedTransactionData(hash: string, signature: string): string { assert.isString('hash', hash); assert.isString('signature', signature); - const self = this as any as IWalletContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [hash, - signature - ]); + const self = (this as any) as IWalletContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,bytes)', [ + hash, + signature, + ]); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -99,8 +94,11 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return IWalletContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return IWalletContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, @@ -117,17 +115,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -135,18 +129,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`IWallet successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new IWalletContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + const contractInstance = new IWalletContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -172,11 +170,16 @@ public static async deployFrom0xArtifactAsync( ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('IWallet', IWalletContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts index 47aca21b22..92628c0c03 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -54,18 +57,12 @@ export interface MultiAssetProxyAssetProxyRegisteredEventArgs extends DecodedLog assetProxy: string; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class MultiAssetProxyContract extends BaseContract { public assetProxies = { - async callAsync( - index_0: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(index_0: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -75,9 +72,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -86,54 +82,45 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('assetProxies(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0 - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('assetProxies(bytes4)', [index_0]); return abiEncodedTransactionData; }, }; public addAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.addAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -141,51 +128,41 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as MultiAssetProxyContract; + const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -195,9 +172,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -206,24 +182,24 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; @@ -232,8 +208,7 @@ export class MultiAssetProxyContract extends BaseContract { index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -243,9 +218,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0 - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('authorities(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -254,24 +228,22 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorities(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: BigNumber, - ): string { + getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0 - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorities(uint256)', [index_0]); return abiEncodedTransactionData; }, }; @@ -280,8 +252,7 @@ export class MultiAssetProxyContract extends BaseContract { assetProxyId: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxyId', assetProxyId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -291,9 +262,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -302,54 +272,45 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetProxyId: string, - ): string { + getABIEncodedTransactionData(assetProxyId: string): string { assert.isString('assetProxyId', assetProxyId); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); return abiEncodedTransactionData; }, }; public removeAuthorizedAddress = { - async sendTransactionAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddress.estimateGasAsync.bind( - self, - target.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -357,51 +318,41 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + const self = (this as any) as MultiAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - target: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - target: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -411,9 +362,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -422,33 +372,29 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - ): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public owner = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -457,7 +403,7 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; + const self = (this as any) as MultiAssetProxyContract; const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -467,20 +413,20 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as MultiAssetProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as MultiAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, @@ -489,33 +435,30 @@ export class MultiAssetProxyContract extends BaseContract { async sendTransactionAsync( target: string, index: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind( - self, + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ target.toLowerCase(), - index - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( target: string, @@ -524,57 +467,59 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as MultiAssetProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target.toLowerCase(), - index - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as MultiAssetProxyContract; + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( + target.toLowerCase(), + index, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( target: string, index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('target', target); + assert.isBigNumber('index', index); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( target: string, index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('target', target); assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -585,10 +530,11 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -597,36 +543,31 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - index: BigNumber, - ): string { + getABIEncodedTransactionData(target: string, index: BigNumber): string { assert.isString('target', target); assert.isBigNumber('index', index); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [target.toLowerCase(), - index - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'removeAuthorizedAddressAtIndex(address,uint256)', + [target.toLowerCase(), index], + ); return abiEncodedTransactionData; }, }; public getProxyId = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -635,7 +576,7 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; + const self = (this as any) as MultiAssetProxyContract; const encodedData = self._strictEncodeArguments('getProxyId()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -645,20 +586,20 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as MultiAssetProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as MultiAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, @@ -668,8 +609,7 @@ export class MultiAssetProxyContract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -679,9 +619,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -690,54 +629,47 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('authorized(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ + index_0.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public registerAssetProxy = { - async sendTransactionAsync( - assetProxy: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('assetProxy', assetProxy); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.registerAssetProxy.estimateGasAsync.bind( - self, - assetProxy.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(assetProxy: string, txData?: Partial | undefined): Promise { + assert.isString('assetProxy', assetProxy); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.registerAssetProxy.estimateGasAsync.bind(self, assetProxy.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( assetProxy: string, @@ -745,51 +677,45 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxy', assetProxy); - const self = this as any as MultiAssetProxyContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('assetProxy', assetProxy); + const self = (this as any) as MultiAssetProxyContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - assetProxy: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('assetProxy', assetProxy); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(assetProxy: string, txData?: Partial | undefined): Promise { + assert.isString('assetProxy', assetProxy); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( assetProxy: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('assetProxy', assetProxy); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -799,9 +725,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -810,33 +735,29 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - assetProxy: string, - ): string { + getABIEncodedTransactionData(assetProxy: string): string { assert.isString('assetProxy', assetProxy); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [ + assetProxy.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public getAuthorizedAddresses = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -845,7 +766,7 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; + const self = (this as any) as MultiAssetProxyContract; const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -855,51 +776,44 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as MultiAssetProxyContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as MultiAssetProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, }; public transferOwnership = { - async sendTransactionAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferOwnership.estimateGasAsync.bind( - self, - newOwner.toLowerCase() - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( newOwner: string, @@ -907,51 +821,41 @@ export class MultiAssetProxyContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = this as any as MultiAssetProxyContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase() - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('newOwner', newOwner); + const self = (this as any) as MultiAssetProxyContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - newOwner: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('newOwner', newOwner); - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -961,9 +865,8 @@ export class MultiAssetProxyContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as MultiAssetProxyContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -972,33 +875,33 @@ export class MultiAssetProxyContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - newOwner: string, - ): string { + getABIEncodedTransactionData(newOwner: string): string { assert.isString('newOwner', newOwner); - const self = this as any as MultiAssetProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase() - ]); + const self = (this as any) as MultiAssetProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1011,8 +914,11 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return MultiAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return MultiAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, @@ -1029,17 +935,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1047,18 +949,22 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`MultiAssetProxy successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new MultiAssetProxyContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + const contractInstance = new MultiAssetProxyContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -1077,7 +983,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1086,13 +992,12 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'addAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1111,7 +1016,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1130,7 +1035,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1139,16 +1044,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddress', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'owner', outputs: [ { @@ -1160,7 +1063,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1173,16 +1076,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'removeAuthorizedAddressAtIndex', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getProxyId', outputs: [ { @@ -1194,7 +1095,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'pure', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1213,7 +1114,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1222,16 +1123,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'registerAssetProxy', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'getAuthorizedAddresses', outputs: [ { @@ -1243,7 +1142,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1252,22 +1151,19 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'transferOwnership', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -1282,11 +1178,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AuthorizedAddressAdded', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1301,11 +1196,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AuthorizedAddressRemoved', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1320,8 +1214,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'AssetProxyRegistered', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1395,15 +1288,27 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('MultiAssetProxy', MultiAssetProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'MultiAssetProxy', + MultiAssetProxyContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( MultiAssetProxyContract.ABI(), this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts index 3f2843d6ed..2183ee494f 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts @@ -1,7 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract,PromiseWithTransactionHash } from '@0x/base-contract'; +import { BaseContract, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -23,20 +23,44 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class OrderValidatorContract extends BaseContract { public getOrderAndTraderInfo = { async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAddress: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}, {makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}] + ): Promise< + [ + { orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, + { + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + } + ] > { - assert.isString('takerAddress', takerAddress); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -46,10 +70,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, - takerAddress.toLowerCase() - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments( + 'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', + [order, takerAddress.toLowerCase()], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -58,27 +83,57 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}, {makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + [ + { orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, + { + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + } + ] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - takerAddress: string, - ): string { - + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + takerAddress: string, + ): string { assert.isString('takerAddress', takerAddress); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, - takerAddress.toLowerCase() - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', + [order, takerAddress.toLowerCase()], + ); return abiEncodedTransactionData; }, }; @@ -88,8 +143,7 @@ export class OrderValidatorContract extends BaseContract { assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[BigNumber, BigNumber] - > { + ): Promise<[BigNumber, BigNumber]> { assert.isString('target', target); assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -100,10 +154,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [target.toLowerCase(), - assetData - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [ + target.toLowerCase(), + assetData, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -112,37 +167,62 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getBalanceAndAllowance(address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber]>(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - assetData: string, - ): string { + getABIEncodedTransactionData(target: string, assetData: string): string { assert.isString('target', target); assert.isString('assetData', assetData); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [target.toLowerCase(), - assetData - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [ + target.toLowerCase(), + assetData, + ]); return abiEncodedTransactionData; }, }; public getOrdersAndTradersInfo = { async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAddresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[Array<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}>, Array<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}>] + ): Promise< + [ + Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, + Array<{ + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + }> + ] > { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); @@ -154,10 +234,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, - takerAddresses - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments( + 'getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', + [orders, takerAddresses], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -166,37 +247,91 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[Array<{orderStatus: number;orderHash: string;orderTakerAssetFilledAmount: BigNumber}>, Array<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber}>] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + [ + Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, + Array<{ + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + }> + ] + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAddresses: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAddresses: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, - takerAddresses - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getOrdersAndTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', + [orders, takerAddresses], + ); return abiEncodedTransactionData; }, }; public getTradersInfo = { async callAsync( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, takerAddresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise + ): Promise< + Array<{ + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + }> > { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); @@ -208,10 +343,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, - takerAddresses - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments( + 'getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', + [orders, takerAddresses], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -220,27 +356,55 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])'); + const abiEncoder = self._lookupAbiEncoder( + 'getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + Array<{ + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + }> + >(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - orders: Array<{makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}>, - takerAddresses: string[], - ): string { + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }>, + takerAddresses: string[], + ): string { assert.isArray('orders', orders); assert.isArray('takerAddresses', takerAddresses); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', [orders, - takerAddresses - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getTradersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address[])', + [orders, takerAddresses], + ); return abiEncodedTransactionData; }, }; @@ -250,8 +414,7 @@ export class OrderValidatorContract extends BaseContract { tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('token', token); assert.isBigNumber('tokenId', tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -262,10 +425,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [token.toLowerCase(), - tokenId - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [ + token.toLowerCase(), + tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -274,27 +438,26 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getERC721TokenOwner(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - token: string, - tokenId: BigNumber, - ): string { + getABIEncodedTransactionData(token: string, tokenId: BigNumber): string { assert.isString('token', token); assert.isBigNumber('tokenId', tokenId); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [token.toLowerCase(), - tokenId - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [ + token.toLowerCase(), + tokenId, + ]); return abiEncodedTransactionData; }, }; @@ -304,8 +467,7 @@ export class OrderValidatorContract extends BaseContract { assetData: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[BigNumber[], BigNumber[]] - > { + ): Promise<[BigNumber[], BigNumber[]]> { assert.isString('target', target); assert.isArray('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -316,10 +478,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [target.toLowerCase(), - assetData - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [ + target.toLowerCase(), + assetData, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -328,39 +491,58 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('getBalancesAndAllowances(address,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[BigNumber[], BigNumber[]] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[BigNumber[], BigNumber[]]>(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - target: string, - assetData: string[], - ): string { + getABIEncodedTransactionData(target: string, assetData: string[]): string { assert.isString('target', target); assert.isArray('assetData', assetData); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [target.toLowerCase(), - assetData - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [ + target.toLowerCase(), + assetData, + ]); return abiEncodedTransactionData; }, }; public getTraderInfo = { async callAsync( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, takerAddress: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber} - > { - + ): Promise<{ + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + }> { assert.isString('takerAddress', takerAddress); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -370,10 +552,11 @@ export class OrderValidatorContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as OrderValidatorContract; - const encodedData = self._strictEncodeArguments('getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, - takerAddress.toLowerCase() - ]); + const self = (this as any) as OrderValidatorContract; + const encodedData = self._strictEncodeArguments( + 'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', + [order, takerAddress.toLowerCase()], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -382,37 +565,62 @@ export class OrderValidatorContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)'); + const abiEncoder = self._lookupAbiEncoder( + 'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{makerBalance: BigNumber;makerAllowance: BigNumber;takerBalance: BigNumber;takerAllowance: BigNumber;makerZrxBalance: BigNumber;makerZrxAllowance: BigNumber;takerZrxBalance: BigNumber;takerZrxAllowance: BigNumber} - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerBalance: BigNumber; + makerAllowance: BigNumber; + takerBalance: BigNumber; + takerAllowance: BigNumber; + makerZrxBalance: BigNumber; + makerZrxAllowance: BigNumber; + takerZrxBalance: BigNumber; + takerZrxAllowance: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, getABIEncodedTransactionData( - order: {makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string}, - takerAddress: string, - ): string { - + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + }, + takerAddress: string, + ): string { assert.isString('takerAddress', takerAddress); - const self = this as any as OrderValidatorContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', [order, - takerAddress.toLowerCase() - ]); + const self = (this as any) as OrderValidatorContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)', + [order, takerAddress.toLowerCase()], + ); return abiEncodedTransactionData; }, }; -public static async deployFrom0xArtifactAsync( + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, - _exchange: string, - _zrxAssetData: string, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + _exchange: string, + _zrxAssetData: string, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -425,10 +633,19 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return OrderValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, _exchange, -_zrxAssetData -); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return OrderValidatorContract.deployAsync( + bytecode, + abi, + provider, + txDefaults, + logDecodeDependenciesAbiOnly, + _exchange, + _zrxAssetData, + ); } public static async deployAsync( bytecode: string, @@ -436,8 +653,8 @@ _zrxAssetData supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi }, - _exchange: string, - _zrxAssetData: string, + _exchange: string, + _zrxAssetData: string, ): Promise { assert.isHexString('bytecode', bytecode); assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ @@ -447,23 +664,17 @@ _zrxAssetData ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [_exchange, -_zrxAssetData -] = BaseContract._formatABIDataItemList( + [_exchange, _zrxAssetData] = BaseContract._formatABIDataItemList( constructorAbi.inputs, - [_exchange, -_zrxAssetData -], + [_exchange, _zrxAssetData], BaseContract._bigNumberToString, ); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [_exchange, -_zrxAssetData -]); + const txData = deployInfo.encode(bytecode, [_exchange, _zrxAssetData]); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -471,20 +682,22 @@ _zrxAssetData logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`OrderValidator successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new OrderValidatorContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); - contractInstance.constructorArgs = [_exchange, -_zrxAssetData -]; + const contractInstance = new OrderValidatorContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); + contractInstance.constructorArgs = [_exchange, _zrxAssetData]; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, inputs: [ { @@ -539,7 +752,7 @@ _zrxAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAddress', @@ -564,7 +777,7 @@ _zrxAssetData name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ] + ], }, { name: 'traderInfo', @@ -602,14 +815,14 @@ _zrxAssetData name: 'takerZrxAllowance', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -636,7 +849,7 @@ _zrxAssetData stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -691,7 +904,7 @@ _zrxAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAddresses', @@ -716,7 +929,7 @@ _zrxAssetData name: 'orderTakerAssetFilledAmount', type: 'uint256', }, - ] + ], }, { name: 'tradersInfo', @@ -754,14 +967,14 @@ _zrxAssetData name: 'takerZrxAllowance', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -816,7 +1029,7 @@ _zrxAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAddresses', @@ -861,14 +1074,14 @@ _zrxAssetData name: 'takerZrxAllowance', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -891,7 +1104,7 @@ _zrxAssetData stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -918,7 +1131,7 @@ _zrxAssetData stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -973,7 +1186,7 @@ _zrxAssetData name: 'takerAssetData', type: 'bytes', }, - ] + ], }, { name: 'takerAddress', @@ -1018,14 +1231,14 @@ _zrxAssetData name: 'takerZrxAllowance', type: 'uint256', }, - ] + ], }, ], payable: false, stateMutability: 'view', type: 'function', }, - { + { inputs: [ { name: '_exchange', @@ -1036,8 +1249,7 @@ _zrxAssetData type: 'bytes', }, ], - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor', @@ -1045,11 +1257,23 @@ _zrxAssetData ] as ContractAbi; return abi; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('OrderValidator', OrderValidatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { + super( + 'OrderValidator', + OrderValidatorContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts index 337f5b2078..fdf60d3ea7 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -63,17 +66,12 @@ export interface WETH9WithdrawalEventArgs extends DecodedLogArgs { _value: BigNumber; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class WETH9Contract extends BaseContract { public name = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -82,7 +80,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; + const self = (this as any) as WETH9Contract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -92,55 +90,45 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as WETH9Contract; + getABIEncodedTransactionData(): string { + const self = (this as any) as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, }; public approve = { - async sendTransactionAsync( - guy: string, - wad: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('guy', guy); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), - wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind( - self, - guy.toLowerCase(), - wad - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(guy: string, wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('guy', guy); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind(self, guy.toLowerCase(), wad), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( guy: string, @@ -149,57 +137,48 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('guy', guy); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const txHashPromise = self.approve.sendTransactionAsync(guy.toLowerCase(), - wad - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('guy', guy); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const txHashPromise = self.approve.sendTransactionAsync(guy.toLowerCase(), wad, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - guy: string, - wad: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('guy', guy); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), - wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(guy: string, wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('guy', guy); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( guy: string, wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('guy', guy); assert.isBigNumber('wad', wad); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -210,10 +189,8 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), - wad - ]); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -222,36 +199,31 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - guy: string, - wad: BigNumber, - ): string { + getABIEncodedTransactionData(guy: string, wad: BigNumber): string { assert.isString('guy', guy); assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), - wad - ]); + const self = (this as any) as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ + guy.toLowerCase(), + wad, + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -260,7 +232,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; + const self = (this as any) as WETH9Contract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -270,20 +242,20 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as WETH9Contract; + getABIEncodedTransactionData(): string { + const self = (this as any) as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -293,36 +265,32 @@ export class WETH9Contract extends BaseContract { src: string, dst: string, wad: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('src', src); - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), - dst.toLowerCase(), - wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('src', src); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ src.toLowerCase(), dst.toLowerCase(), - wad - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + wad, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, src.toLowerCase(), dst.toLowerCase(), wad), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( src: string, @@ -332,25 +300,27 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('src', src); - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const txHashPromise = self.transferFrom.sendTransactionAsync(src.toLowerCase(), - dst.toLowerCase(), - wad - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('src', src); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + src.toLowerCase(), + dst.toLowerCase(), + wad, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( src: string, @@ -358,28 +328,29 @@ export class WETH9Contract extends BaseContract { wad: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('src', src); - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), - dst.toLowerCase(), - wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('src', src); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + src.toLowerCase(), + dst.toLowerCase(), + wad, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( src: string, @@ -387,8 +358,7 @@ export class WETH9Contract extends BaseContract { wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('src', src); assert.isString('dst', dst); assert.isBigNumber('wad', wad); @@ -400,11 +370,12 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), - dst.toLowerCase(), - wad - ]); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + src.toLowerCase(), + dst.toLowerCase(), + wad, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -413,60 +384,51 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - src: string, - dst: string, - wad: BigNumber, - ): string { + getABIEncodedTransactionData(src: string, dst: string, wad: BigNumber): string { assert.isString('src', src); assert.isString('dst', dst); assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src.toLowerCase(), - dst.toLowerCase(), - wad - ]); + const self = (this as any) as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + src.toLowerCase(), + dst.toLowerCase(), + wad, + ]); return abiEncodedTransactionData; }, }; public withdraw = { - async sendTransactionAsync( - wad: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.withdraw.estimateGasAsync.bind( - self, - wad - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.withdraw.estimateGasAsync.bind(self, wad), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( wad: BigNumber, @@ -474,51 +436,41 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const txHashPromise = self.withdraw.sendTransactionAsync(wad - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const txHashPromise = self.withdraw.sendTransactionAsync(wad, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - wad: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - wad: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isBigNumber('wad', wad); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -528,9 +480,8 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad - ]); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('withdraw(uint256)', [wad]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -539,33 +490,27 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('withdraw(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - wad: BigNumber, - ): string { + getABIEncodedTransactionData(wad: BigNumber): string { assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('withdraw(uint256)', [wad - ]); + const self = (this as any) as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('withdraw(uint256)', [wad]); return abiEncodedTransactionData; }, }; public decimals = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -574,7 +519,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; + const self = (this as any) as WETH9Contract; const encodedData = self._strictEncodeArguments('decimals()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -584,20 +529,20 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decimals()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as WETH9Contract; + getABIEncodedTransactionData(): string { + const self = (this as any) as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); return abiEncodedTransactionData; }, @@ -607,8 +552,7 @@ export class WETH9Contract extends BaseContract { index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -618,9 +562,8 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -629,33 +572,29 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - ): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - const self = this as any as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase() - ]); + const self = (this as any) as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [ + index_0.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -664,7 +603,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; + const self = (this as any) as WETH9Contract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -674,55 +613,45 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as WETH9Contract; + getABIEncodedTransactionData(): string { + const self = (this as any) as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, }; public transfer = { - async sendTransactionAsync( - dst: string, - wad: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), - wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind( - self, - dst.toLowerCase(), - wad - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(dst: string, wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind(self, dst.toLowerCase(), wad), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( dst: string, @@ -731,57 +660,48 @@ export class WETH9Contract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const txHashPromise = self.transfer.sendTransactionAsync(dst.toLowerCase(), - wad - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const txHashPromise = self.transfer.sendTransactionAsync(dst.toLowerCase(), wad, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - dst: string, - wad: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('dst', dst); - assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), - wad - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(dst: string, wad: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('dst', dst); + assert.isBigNumber('wad', wad); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( dst: string, wad: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('dst', dst); assert.isBigNumber('wad', wad); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -792,10 +712,8 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), - wad - ]); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -804,98 +722,87 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - dst: string, - wad: BigNumber, - ): string { + getABIEncodedTransactionData(dst: string, wad: BigNumber): string { assert.isString('dst', dst); assert.isBigNumber('wad', wad); - const self = this as any as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), - wad - ]); + const self = (this as any) as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ + dst.toLowerCase(), + wad, + ]); return abiEncodedTransactionData; }, }; public deposit = { - async sendTransactionAsync( - txData?: Partial | undefined, - ): Promise { - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('deposit()', []); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.deposit.estimateGasAsync.bind( - self, - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + async sendTransactionAsync(txData?: Partial | undefined): Promise { + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('deposit()', []); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.deposit.estimateGasAsync.bind(self), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - const self = this as any as WETH9Contract; - const txHashPromise = self.deposit.sendTransactionAsync(txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const self = (this as any) as WETH9Contract; + const txHashPromise = self.deposit.sendTransactionAsync(txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - txData?: Partial | undefined, - ): Promise { - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('deposit()', []); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(txData?: Partial | undefined): Promise { + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('deposit()', []); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -904,7 +811,7 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; + const self = (this as any) as WETH9Contract; const encodedData = self._strictEncodeArguments('deposit()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -914,20 +821,20 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('deposit()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as WETH9Contract; + getABIEncodedTransactionData(): string { + const self = (this as any) as WETH9Contract; const abiEncodedTransactionData = self._strictEncodeArguments('deposit()', []); return abiEncodedTransactionData; }, @@ -938,8 +845,7 @@ export class WETH9Contract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -950,10 +856,11 @@ export class WETH9Contract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as WETH9Contract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [index_0.toLowerCase(), - index_1.toLowerCase() - ]); + const self = (this as any) as WETH9Contract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -962,36 +869,35 @@ export class WETH9Contract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - index_0: string, - index_1: string, - ): string { + getABIEncodedTransactionData(index_0: string, index_1: string): string { assert.isString('index_0', index_0); assert.isString('index_1', index_1); - const self = this as any as WETH9Contract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [index_0.toLowerCase(), - index_1.toLowerCase() - ]); + const self = (this as any) as WETH9Contract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -1004,8 +910,11 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return WETH9Contract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return WETH9Contract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, @@ -1022,17 +931,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -1040,21 +945,24 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`WETH9 successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new WETH9Contract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + const contractInstance = new WETH9Contract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'name', outputs: [ { @@ -1066,7 +974,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1089,10 +997,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'totalSupply', outputs: [ { @@ -1104,7 +1011,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1131,7 +1038,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1140,16 +1047,14 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'withdraw', - outputs: [ - ], + outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'decimals', outputs: [ { @@ -1161,7 +1066,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1180,10 +1085,9 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'symbol', outputs: [ { @@ -1195,7 +1099,7 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { + { constant: false, inputs: [ { @@ -1218,18 +1122,16 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'nonpayable', type: 'function', }, - { + { constant: false, - inputs: [ - ], + inputs: [], name: 'deposit', - outputs: [ - ], + outputs: [], payable: true, stateMutability: 'payable', type: 'function', }, - { + { constant: true, inputs: [ { @@ -1252,16 +1154,14 @@ public static async deployFrom0xArtifactAsync( stateMutability: 'view', type: 'function', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: true, stateMutability: 'payable', type: 'fallback', }, - { + { anonymous: false, inputs: [ { @@ -1281,11 +1181,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Approval', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1305,11 +1204,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Transfer', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1324,11 +1222,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Deposit', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1343,8 +1240,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Withdrawal', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1418,7 +1314,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('WETH9', WETH9Contract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1426,7 +1327,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts index 04b7f16718..d980c02253 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts @@ -1,11 +1,14 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { BaseContract, +import { + BaseContract, BlockRange, EventCallback, IndexedFilterValues, - SubscriptionManager,PromiseWithTransactionHash } from '@0x/base-contract'; + SubscriptionManager, + PromiseWithTransactionHash, +} from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -28,9 +31,7 @@ import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable -export type ZRXTokenEventArgs = - | ZRXTokenTransferEventArgs - | ZRXTokenApprovalEventArgs; +export type ZRXTokenEventArgs = ZRXTokenTransferEventArgs | ZRXTokenApprovalEventArgs; export enum ZRXTokenEvents { Transfer = 'Transfer', @@ -49,17 +50,12 @@ export interface ZRXTokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } - /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ZRXTokenContract extends BaseContract { public name = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -68,7 +64,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; + const self = (this as any) as ZRXTokenContract; const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -78,20 +74,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ZRXTokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, @@ -100,33 +96,30 @@ export class ZRXTokenContract extends BaseContract { async sendTransactionAsync( _spender: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.approve.estimateGasAsync.bind( - self, + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ _spender.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _spender: string, @@ -135,57 +128,55 @@ export class ZRXTokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _spender: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_spender', _spender); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_spender', _spender); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _spender: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -196,10 +187,11 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -208,36 +200,31 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _spender: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_spender: string, _value: BigNumber): string { assert.isString('_spender', _spender); assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [_spender.toLowerCase(), - _value - ]); + const self = (this as any) as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [ + _spender.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; public totalSupply = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -246,7 +233,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; + const self = (this as any) as ZRXTokenContract; const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -256,20 +243,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ZRXTokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, @@ -279,36 +266,32 @@ export class ZRXTokenContract extends BaseContract { _from: string, _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transferFrom.estimateGasAsync.bind( - self, + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _from: string, @@ -318,25 +301,27 @@ export class ZRXTokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync(_from.toLowerCase(), - _to.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const txHashPromise = self.transferFrom.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _value, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, async estimateGasAsync( _from: string, @@ -344,28 +329,29 @@ export class ZRXTokenContract extends BaseContract { _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _from: string, @@ -373,8 +359,7 @@ export class ZRXTokenContract extends BaseContract { _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); @@ -386,11 +371,12 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -399,39 +385,33 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _from: string, - _to: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [_from.toLowerCase(), - _to.toLowerCase(), - _value - ]); + const self = (this as any) as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; public decimals = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -440,7 +420,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; + const self = (this as any) as ZRXTokenContract; const encodedData = self._strictEncodeArguments('decimals()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -450,20 +430,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('decimals()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ZRXTokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); return abiEncodedTransactionData; }, @@ -473,8 +453,7 @@ export class ZRXTokenContract extends BaseContract { _owner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -484,9 +463,8 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -495,33 +473,27 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - ): string { + getABIEncodedTransactionData(_owner: string): string { assert.isString('_owner', _owner); - const self = this as any as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase() - ]); + const self = (this as any) as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); return abiEncodedTransactionData; }, }; public symbol = { - async callAsync( - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -530,7 +502,7 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; + const self = (this as any) as ZRXTokenContract; const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -540,20 +512,20 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - ): string { - const self = this as any as ZRXTokenContract; + getABIEncodedTransactionData(): string { + const self = (this as any) as ZRXTokenContract; const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, @@ -562,33 +534,27 @@ export class ZRXTokenContract extends BaseContract { async sendTransactionAsync( _to: string, _value: BigNumber, - txData?: Partial | undefined, + txData?: Partial | undefined, ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - self.transfer.estimateGasAsync.bind( - self, - _to.toLowerCase(), - _value - ), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, awaitTransactionSuccessAsync( _to: string, @@ -597,57 +563,48 @@ export class ZRXTokenContract extends BaseContract { pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), - _value - , txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, - async estimateGasAsync( - _to: string, - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, async callAsync( _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -658,10 +615,8 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -670,27 +625,26 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _to: string, - _value: BigNumber, - ): string { + getABIEncodedTransactionData(_to: string, _value: BigNumber): string { assert.isString('_to', _to); assert.isBigNumber('_value', _value); - const self = this as any as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), - _value - ]); + const self = (this as any) as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ + _to.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, }; @@ -700,8 +654,7 @@ export class ZRXTokenContract extends BaseContract { _spender: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('_owner', _owner); assert.isString('_spender', _spender); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -712,10 +665,11 @@ export class ZRXTokenContract extends BaseContract { if (defaultBlock !== undefined) { assert.isBlockParam('defaultBlock', defaultBlock); } - const self = this as any as ZRXTokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), - _spender.toLowerCase() - ]); + const self = (this as any) as ZRXTokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -724,36 +678,35 @@ export class ZRXTokenContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from; - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, - getABIEncodedTransactionData( - _owner: string, - _spender: string, - ): string { + getABIEncodedTransactionData(_owner: string, _spender: string): string { assert.isString('_owner', _owner); assert.isString('_spender', _spender); - const self = this as any as ZRXTokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [_owner.toLowerCase(), - _spender.toLowerCase() - ]); + const self = (this as any) as ZRXTokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); return abiEncodedTransactionData; }, }; -private readonly _subscriptionManager: SubscriptionManager; -public static async deployFrom0xArtifactAsync( + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact) }, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, ): Promise { assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ schemas.addressSchema, @@ -766,8 +719,11 @@ public static async deployFrom0xArtifactAsync( const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); - return ZRXTokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( + (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), + {}, + ); + return ZRXTokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( bytecode: string, @@ -784,17 +740,13 @@ public static async deployFrom0xArtifactAsync( ]); const provider = providerUtils.standardizeOrThrow(supportedProvider); const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [], - BaseContract._bigNumberToString, - ); + [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString); const iface = new ethers.utils.Interface(abi); const deployInfo = iface.deployFunction; const txData = deployInfo.encode(bytecode, []); const web3Wrapper = new Web3Wrapper(provider); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - {data: txData}, + { data: txData }, txDefaults, web3Wrapper.estimateGasAsync.bind(web3Wrapper), ); @@ -802,21 +754,24 @@ public static async deployFrom0xArtifactAsync( logUtils.log(`transactionHash: ${txHash}`); const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); logUtils.log(`ZRXToken successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ZRXTokenContract(txReceipt.contractAddress as string, provider, txDefaults, logDecodeDependencies); + const contractInstance = new ZRXTokenContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); contractInstance.constructorArgs = []; return contractInstance; } - /** * @returns The contract ABI */ public static ABI(): ContractAbi { const abi = [ - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'name', outputs: [ { @@ -827,7 +782,7 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: false, inputs: [ { @@ -849,10 +804,9 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'totalSupply', outputs: [ { @@ -863,7 +817,7 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: false, inputs: [ { @@ -889,10 +843,9 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'decimals', outputs: [ { @@ -903,7 +856,7 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: true, inputs: [ { @@ -921,10 +874,9 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: true, - inputs: [ - ], + inputs: [], name: 'symbol', outputs: [ { @@ -935,7 +887,7 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: false, inputs: [ { @@ -957,7 +909,7 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { + { constant: true, inputs: [ { @@ -979,15 +931,13 @@ public static async deployFrom0xArtifactAsync( payable: false, type: 'function', }, - { - inputs: [ - ], - outputs: [ - ], + { + inputs: [], + outputs: [], payable: false, type: 'constructor', }, - { + { anonymous: false, inputs: [ { @@ -1007,11 +957,10 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Transfer', - outputs: [ - ], + outputs: [], type: 'event', }, - { + { anonymous: false, inputs: [ { @@ -1031,8 +980,7 @@ public static async deployFrom0xArtifactAsync( }, ], name: 'Approval', - outputs: [ - ], + outputs: [], type: 'event', }, ] as ContractAbi; @@ -1106,7 +1054,12 @@ public static async deployFrom0xArtifactAsync( ); return logs; } - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + ) { super('ZRXToken', ZRXTokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( @@ -1114,7 +1067,7 @@ public static async deployFrom0xArtifactAsync( this._web3Wrapper, ); } -} +} // tslint:disable:max-file-line-count // tslint:enable:no-unbound-method no-parameter-reassignment no-consecutive-blank-lines ordered-imports align From 0aadb789a593eab548b6f6b4751b493c12d53562 Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Mon, 29 Jul 2019 16:45:13 +0200 Subject: [PATCH 053/162] Fixed linter errors --- packages/abi-gen-templates/contract.handlebars | 2 +- .../src/generated-wrappers/asset_proxy_owner.ts | 7 +++---- .../abi-gen-wrappers/src/generated-wrappers/coordinator.ts | 7 +++---- .../src/generated-wrappers/coordinator_registry.ts | 7 +++---- .../src/generated-wrappers/dummy_erc20_token.ts | 7 +++---- .../src/generated-wrappers/dummy_erc721_token.ts | 7 +++---- .../src/generated-wrappers/dutch_auction.ts | 7 +++---- .../abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts | 7 +++---- .../abi-gen-wrappers/src/generated-wrappers/erc20_token.ts | 7 +++---- .../src/generated-wrappers/erc721_proxy.ts | 7 +++---- .../src/generated-wrappers/erc721_token.ts | 7 +++---- .../src/generated-wrappers/eth_balance_checker.ts | 7 +++---- .../abi-gen-wrappers/src/generated-wrappers/exchange.ts | 7 +++---- .../abi-gen-wrappers/src/generated-wrappers/forwarder.ts | 7 +++---- .../src/generated-wrappers/i_asset_proxy.ts | 7 +++---- .../abi-gen-wrappers/src/generated-wrappers/i_validator.ts | 7 +++---- .../abi-gen-wrappers/src/generated-wrappers/i_wallet.ts | 7 +++---- .../src/generated-wrappers/multi_asset_proxy.ts | 7 +++---- .../src/generated-wrappers/order_validator.ts | 7 +++---- packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts | 7 +++---- .../abi-gen-wrappers/src/generated-wrappers/zrx_token.ts | 7 +++---- .../test-cli/expected-output/typescript/abi_gen_dummy.ts | 7 +++---- .../test-cli/expected-output/typescript/lib_dummy.ts | 7 +++---- .../test-cli/expected-output/typescript/test_lib_dummy.ts | 7 +++---- 24 files changed, 70 insertions(+), 93 deletions(-) diff --git a/packages/abi-gen-templates/contract.handlebars b/packages/abi-gen-templates/contract.handlebars index b9683d30f8..489df8ceea 100644 --- a/packages/abi-gen-templates/contract.handlebars +++ b/packages/abi-gen-templates/contract.handlebars @@ -77,7 +77,7 @@ export class {{contractName}}Contract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce((accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), {}); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ [contractName: string]: ContractAbi }>((accumulator, [key, value]) => ({...{[key]: value.compilerOutput.abi}}),{}); return {{contractName}}Contract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, {{> params inputs=ctor.inputs}}); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts index d4f38be5c3..a24031e1a8 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts @@ -2113,10 +2113,9 @@ export class AssetProxyOwnerContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return AssetProxyOwnerContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts index 305e0b38aa..d65b3977ab 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts @@ -629,10 +629,9 @@ export class CoordinatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return CoordinatorContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts index 50ea62a44f..d93ffb467a 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts @@ -218,10 +218,9 @@ export class CoordinatorRegistryContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return CoordinatorRegistryContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts index 7947130b0d..1d186f95ac 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts @@ -1132,10 +1132,9 @@ export class DummyERC20TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return DummyERC20TokenContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts index c3ad0fed54..895eb1279a 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts @@ -1460,10 +1460,9 @@ export class DummyERC721TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return DummyERC721TokenContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts index e7aa2434df..5dfd3145de 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts @@ -553,10 +553,9 @@ export class DutchAuctionContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return DutchAuctionContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts index bcfd2f5b1c..166736aec0 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts @@ -717,10 +717,9 @@ export class ERC20ProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return ERC20ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts index 58b2815bc4..47837ac17b 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts @@ -605,10 +605,9 @@ export class ERC20TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return ERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts index ee5085d4ab..0281bd6100 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts @@ -717,10 +717,9 @@ export class ERC721ProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return ERC721ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts index 2a0420e010..9ff5e1a6d2 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts @@ -998,10 +998,9 @@ export class ERC721TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return ERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts index e4a6c2ac39..f0428ecd56 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts @@ -88,10 +88,9 @@ export class EthBalanceCheckerContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return EthBalanceCheckerContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts index 873bde5b79..ead2ef1dda 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts @@ -4582,10 +4582,9 @@ export class ExchangeContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return ExchangeContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts index 4a4e7f68ef..fcf18ab937 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts @@ -1057,10 +1057,9 @@ export class ForwarderContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return ForwarderContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts index 13b92cc118..8330779a82 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts @@ -722,10 +722,9 @@ export class IAssetProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return IAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts index fd016262d4..2c194a3c96 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts @@ -102,10 +102,9 @@ export class IValidatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return IValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts index 20a8250ba8..83ca828c21 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts @@ -94,10 +94,9 @@ export class IWalletContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return IWalletContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts index 92628c0c03..c9a8a30608 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts @@ -914,10 +914,9 @@ export class MultiAssetProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return MultiAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts index 2183ee494f..1ab8adfa20 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts @@ -633,10 +633,9 @@ export class OrderValidatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return OrderValidatorContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts index fdf60d3ea7..5a48c87259 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts @@ -910,10 +910,9 @@ export class WETH9Contract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return WETH9Contract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts index d980c02253..ee6b43b77b 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts @@ -719,10 +719,9 @@ export class ZRXTokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return ZRXTokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts index 0c7af7906f..fad08205fe 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts @@ -1035,10 +1035,9 @@ export class AbiGenDummyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return AbiGenDummyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts index 38469721ec..56cb550cf5 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts @@ -44,10 +44,9 @@ export class LibDummyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return LibDummyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts index d5d5437643..8c898b358a 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts @@ -124,10 +124,9 @@ export class TestLibDummyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce( - (accumulator, [key, value]) => Object.assign(accumulator, { [key]: value.compilerOutput.abi }), - {}, - ); + const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ + [contractName: string]: ContractAbi; + }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); return TestLibDummyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( From 6f6411556170a323dd8fdd6fe1421ead19e78bc3 Mon Sep 17 00:00:00 2001 From: Greg Hysen Date: Mon, 29 Jul 2019 17:24:32 +0200 Subject: [PATCH 054/162] Switched assignment of `logDecodeDependenciesAbiOnly` for readability and to pass linter --- packages/abi-gen-templates/contract.handlebars | 5 ++++- .../src/generated-wrappers/asset_proxy_owner.ts | 7 ++++--- .../abi-gen-wrappers/src/generated-wrappers/coordinator.ts | 7 ++++--- .../src/generated-wrappers/coordinator_registry.ts | 7 ++++--- .../src/generated-wrappers/dummy_erc20_token.ts | 7 ++++--- .../src/generated-wrappers/dummy_erc721_token.ts | 7 ++++--- .../src/generated-wrappers/dutch_auction.ts | 7 ++++--- .../abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts | 7 ++++--- .../abi-gen-wrappers/src/generated-wrappers/erc20_token.ts | 7 ++++--- .../src/generated-wrappers/erc721_proxy.ts | 7 ++++--- .../src/generated-wrappers/erc721_token.ts | 7 ++++--- .../src/generated-wrappers/eth_balance_checker.ts | 7 ++++--- .../abi-gen-wrappers/src/generated-wrappers/exchange.ts | 7 ++++--- .../abi-gen-wrappers/src/generated-wrappers/forwarder.ts | 7 ++++--- .../src/generated-wrappers/i_asset_proxy.ts | 7 ++++--- .../abi-gen-wrappers/src/generated-wrappers/i_validator.ts | 7 ++++--- .../abi-gen-wrappers/src/generated-wrappers/i_wallet.ts | 7 ++++--- .../src/generated-wrappers/multi_asset_proxy.ts | 7 ++++--- .../src/generated-wrappers/order_validator.ts | 7 ++++--- packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts | 7 ++++--- .../abi-gen-wrappers/src/generated-wrappers/zrx_token.ts | 7 ++++--- .../test-cli/expected-output/typescript/abi_gen_dummy.ts | 7 ++++--- .../test-cli/expected-output/typescript/lib_dummy.ts | 7 ++++--- .../test-cli/expected-output/typescript/test_lib_dummy.ts | 7 ++++--- 24 files changed, 96 insertions(+), 70 deletions(-) diff --git a/packages/abi-gen-templates/contract.handlebars b/packages/abi-gen-templates/contract.handlebars index 489df8ceea..f30bf50e58 100644 --- a/packages/abi-gen-templates/contract.handlebars +++ b/packages/abi-gen-templates/contract.handlebars @@ -77,7 +77,10 @@ export class {{contractName}}Contract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ [contractName: string]: ContractAbi }>((accumulator, [key, value]) => ({...{[key]: value.compilerOutput.abi}}),{}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return {{contractName}}Contract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, {{> params inputs=ctor.inputs}}); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts index a24031e1a8..a142985a13 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts @@ -2113,9 +2113,10 @@ export class AssetProxyOwnerContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return AssetProxyOwnerContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts index d65b3977ab..a3f2b2fa94 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts @@ -629,9 +629,10 @@ export class CoordinatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return CoordinatorContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts index d93ffb467a..ce84a8659c 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts @@ -218,9 +218,10 @@ export class CoordinatorRegistryContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return CoordinatorRegistryContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts index 1d186f95ac..ed57e40b1c 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts @@ -1132,9 +1132,10 @@ export class DummyERC20TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return DummyERC20TokenContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts index 895eb1279a..3e07f54492 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts @@ -1460,9 +1460,10 @@ export class DummyERC721TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return DummyERC721TokenContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts index 5dfd3145de..0820789ee1 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts @@ -553,9 +553,10 @@ export class DutchAuctionContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return DutchAuctionContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts index 166736aec0..9aaa9a7dbe 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts @@ -717,9 +717,10 @@ export class ERC20ProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return ERC20ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts index 47837ac17b..bb2f97bf46 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts @@ -605,9 +605,10 @@ export class ERC20TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return ERC20TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts index 0281bd6100..28b991cb80 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts @@ -717,9 +717,10 @@ export class ERC721ProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return ERC721ProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts index 9ff5e1a6d2..b1d5938cca 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts @@ -998,9 +998,10 @@ export class ERC721TokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return ERC721TokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts index f0428ecd56..f0715bcea0 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts @@ -88,9 +88,10 @@ export class EthBalanceCheckerContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return EthBalanceCheckerContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts index ead2ef1dda..532f3b5fd3 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts @@ -4582,9 +4582,10 @@ export class ExchangeContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return ExchangeContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts index fcf18ab937..868a0f198a 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts @@ -1057,9 +1057,10 @@ export class ForwarderContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return ForwarderContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts index 8330779a82..9ce4a6ead1 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts @@ -722,9 +722,10 @@ export class IAssetProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return IAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts index 2c194a3c96..12c6712511 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts @@ -102,9 +102,10 @@ export class IValidatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return IValidatorContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts index 83ca828c21..6f6152a5f4 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts @@ -94,9 +94,10 @@ export class IWalletContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return IWalletContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts index c9a8a30608..970bcfb255 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts @@ -914,9 +914,10 @@ export class MultiAssetProxyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return MultiAssetProxyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts index 1ab8adfa20..5ea9180f47 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts @@ -633,9 +633,10 @@ export class OrderValidatorContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return OrderValidatorContract.deployAsync( bytecode, abi, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts index 5a48c87259..f54f912818 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts @@ -910,9 +910,10 @@ export class WETH9Contract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return WETH9Contract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts index ee6b43b77b..c35927eb5b 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts @@ -719,9 +719,10 @@ export class ZRXTokenContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return ZRXTokenContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts index fad08205fe..c9c07b007f 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/abi_gen_dummy.ts @@ -1035,9 +1035,10 @@ export class AbiGenDummyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return AbiGenDummyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts index 56cb550cf5..4a22ff8143 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/lib_dummy.ts @@ -44,9 +44,10 @@ export class LibDummyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return LibDummyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( diff --git a/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts b/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts index 8c898b358a..a0fc5dea55 100644 --- a/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts +++ b/packages/abi-gen/test-cli/expected-output/typescript/test_lib_dummy.ts @@ -124,9 +124,10 @@ export class TestLibDummyContract extends BaseContract { const provider = providerUtils.standardizeOrThrow(supportedProvider); const bytecode = artifact.compilerOutput.evm.bytecode.object; const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly = Object.entries(logDecodeDependencies).reduce<{ - [contractName: string]: ContractAbi; - }>((accumulator, [key, value]) => ({ ...{ [key]: value.compilerOutput.abi } }), {}); + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } return TestLibDummyContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly); } public static async deployAsync( From 805131cf1e25a2c72534af618e3bb7a111e42509 Mon Sep 17 00:00:00 2001 From: David Sun Date: Tue, 16 Jul 2019 16:10:35 -0700 Subject: [PATCH 055/162] add affiliate fee utils --- .../test/affiliate_fee_utils_test.ts | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 packages/asset-swapper/test/affiliate_fee_utils_test.ts diff --git a/packages/asset-swapper/test/affiliate_fee_utils_test.ts b/packages/asset-swapper/test/affiliate_fee_utils_test.ts new file mode 100644 index 0000000000..19d4f339d8 --- /dev/null +++ b/packages/asset-swapper/test/affiliate_fee_utils_test.ts @@ -0,0 +1,38 @@ +// import { SignedOrder } from '@0x/types'; +// import { BigNumber } from '@0x/utils'; +// import * as chai from 'chai'; +// import 'mocha'; +// import * as TypeMoq from 'typemoq'; + +// import { constants } from '../src/constants'; +// import { } from '../src/types'; +// import { affiliateFeeUtils } from '../src/utils/affiliate_fee_utils'; + +// import { chaiSetup } from './utils/chai_setup'; +// import { getDummySwapQuotesWithNoFees } from './utils/swap_quote'; + +// chaiSetup.configure(); +// const expect = chai.expect; + +// const FAKE_TAKER_ASSET_DATA = '0xf47261b00000000000000000000000001dc4c1cefef38a777b15aa20260a54e584b16c48'; +// const FAKE_MAKER_ASSET_DATA = '0xf47261b00000000000000000000000009f5B0C7e1623793bF0620569b9749e79DF6D0bC5'; +// const NULL_ADDRESS = constants.NULL_ADDRESS; +// const FEE_PERCENTAGE = 0.05; + +// describe('affiliateFeeUtils', () => { +// const dummySwapQuotes = getDummySwapQuotesWithNoFees(FAKE_MAKER_ASSET_DATA, FAKE_TAKER_ASSET_DATA, NULL_ADDRESS); + +// describe('getSwapQuoteWithAffiliateFee', () => { +// it('should return unchanged swapQuote if feePercentage is 0', () => { +// const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee(dummySwapQuotes.fullyFilled, 0); +// expect(updatedSwapQuote).to.deep.equal(dummySwapQuotes.fullyFilled); +// }); +// it('should return correct feeTakerToken and totalTakerToken amounts when provides SwapQuote with no fees', () => { +// const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee(dummySwapQuotes.partiallyFilled, FEE_PERCENTAGE); + +// }); +// it('should return correct feeTakerToken and totalTakerToken amounts when provides SwapQuote with fees', () => { + +// }); +// }); +// }); From c375199daada9fa46e8861fdef3b459ed9494be6 Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 17 Jul 2019 11:02:14 -0700 Subject: [PATCH 056/162] add affiliate fee utils tests --- .../test/affiliate_fee_utils_test.ts | 108 +++++++++++++----- .../asset-swapper/test/utils/swap_quote.ts | 50 ++++++++ 2 files changed, 128 insertions(+), 30 deletions(-) diff --git a/packages/asset-swapper/test/affiliate_fee_utils_test.ts b/packages/asset-swapper/test/affiliate_fee_utils_test.ts index 19d4f339d8..0be0078121 100644 --- a/packages/asset-swapper/test/affiliate_fee_utils_test.ts +++ b/packages/asset-swapper/test/affiliate_fee_utils_test.ts @@ -1,38 +1,86 @@ -// import { SignedOrder } from '@0x/types'; -// import { BigNumber } from '@0x/utils'; -// import * as chai from 'chai'; -// import 'mocha'; -// import * as TypeMoq from 'typemoq'; +import { MarketOperation, SignedOrder } from '@0x/types'; +import { BigNumber } from '@0x/utils'; +import * as chai from 'chai'; +import 'mocha'; +import * as TypeMoq from 'typemoq'; -// import { constants } from '../src/constants'; -// import { } from '../src/types'; -// import { affiliateFeeUtils } from '../src/utils/affiliate_fee_utils'; +import { constants } from '../src/constants'; +import { } from '../src/types'; +import { affiliateFeeUtils } from '../src/utils/affiliate_fee_utils'; -// import { chaiSetup } from './utils/chai_setup'; -// import { getDummySwapQuotesWithNoFees } from './utils/swap_quote'; +import { chaiSetup } from './utils/chai_setup'; +import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFees, getSignedOrdersWithFees, getFullyFillableSwapQuoteWithFees } from './utils/swap_quote'; -// chaiSetup.configure(); -// const expect = chai.expect; +chaiSetup.configure(); +const expect = chai.expect; -// const FAKE_TAKER_ASSET_DATA = '0xf47261b00000000000000000000000001dc4c1cefef38a777b15aa20260a54e584b16c48'; -// const FAKE_MAKER_ASSET_DATA = '0xf47261b00000000000000000000000009f5B0C7e1623793bF0620569b9749e79DF6D0bC5'; -// const NULL_ADDRESS = constants.NULL_ADDRESS; -// const FEE_PERCENTAGE = 0.05; +const FAKE_TAKER_ASSET_DATA = '0xf47261b00000000000000000000000001dc4c1cefef38a777b15aa20260a54e584b16c48'; +const FAKE_MAKER_ASSET_DATA = '0xf47261b00000000000000000000000009f5B0C7e1623793bF0620569b9749e79DF6D0bC5'; +const NULL_ADDRESS = constants.NULL_ADDRESS; +const FEE_PERCENTAGE = 0.1; +const FILLABLE_AMOUNTS = [new BigNumber(2), new BigNumber(3), new BigNumber(5)]; +const FILLABLE_FEE_AMOUNTS = [new BigNumber(1), new BigNumber(1), new BigNumber(1)]; +const MARKET_OPERATION = MarketOperation.Sell; -// describe('affiliateFeeUtils', () => { -// const dummySwapQuotes = getDummySwapQuotesWithNoFees(FAKE_MAKER_ASSET_DATA, FAKE_TAKER_ASSET_DATA, NULL_ADDRESS); +describe('affiliateFeeUtils', () => { + const fakeFeeOrders = getSignedOrdersWithNoFees( + FAKE_MAKER_ASSET_DATA, + FAKE_TAKER_ASSET_DATA, + NULL_ADDRESS, + NULL_ADDRESS, + FILLABLE_FEE_AMOUNTS, + ) + const fakeOrders = getSignedOrdersWithNoFees( + FAKE_MAKER_ASSET_DATA, + FAKE_TAKER_ASSET_DATA, + NULL_ADDRESS, + NULL_ADDRESS, + FILLABLE_AMOUNTS, + ); -// describe('getSwapQuoteWithAffiliateFee', () => { -// it('should return unchanged swapQuote if feePercentage is 0', () => { -// const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee(dummySwapQuotes.fullyFilled, 0); -// expect(updatedSwapQuote).to.deep.equal(dummySwapQuotes.fullyFilled); -// }); -// it('should return correct feeTakerToken and totalTakerToken amounts when provides SwapQuote with no fees', () => { -// const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee(dummySwapQuotes.partiallyFilled, FEE_PERCENTAGE); + const fakeOrdersWithFees = getSignedOrdersWithFees( + FAKE_MAKER_ASSET_DATA, + FAKE_TAKER_ASSET_DATA, + NULL_ADDRESS, + NULL_ADDRESS, + FILLABLE_AMOUNTS, + FILLABLE_FEE_AMOUNTS, + ); -// }); -// it('should return correct feeTakerToken and totalTakerToken amounts when provides SwapQuote with fees', () => { + const fakeSwapQuote = getFullyFillableSwapQuoteWithNoFees( + FAKE_MAKER_ASSET_DATA, + FAKE_TAKER_ASSET_DATA, + fakeOrders, + MARKET_OPERATION, + ); -// }); -// }); -// }); + const fakeSwapQuoteWithFees = getFullyFillableSwapQuoteWithFees( + FAKE_MAKER_ASSET_DATA, + FAKE_TAKER_ASSET_DATA, + fakeOrders, + fakeFeeOrders, + MARKET_OPERATION, + ); + + describe('getSwapQuoteWithAffiliateFee', () => { + it('should return unchanged swapQuote if feePercentage is 0', () => { + const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee(fakeSwapQuote, 0); + const fakeSwapQuoteWithAffiliateFees = { ...fakeSwapQuote, ...{ feePercentage: 0 }}; + expect(updatedSwapQuote).to.deep.equal(fakeSwapQuoteWithAffiliateFees); + }); + it('should return correct feeTakerToken and totalTakerToken amounts when provided SwapQuote with no fees', () => { + const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee(fakeSwapQuote, FEE_PERCENTAGE); + expect(updatedSwapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.deep.equal(new BigNumber(1)); + expect(updatedSwapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(11)); + expect(updatedSwapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.deep.equal(new BigNumber(1)); + expect(updatedSwapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(11)); + }); + it('should return correct feeTakerToken and totalTakerToken amounts when provides SwapQuote with fees', () => { + const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee(fakeSwapQuoteWithFees, FEE_PERCENTAGE); + expect(updatedSwapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.deep.equal(new BigNumber(4)); + expect(updatedSwapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(14)); + expect(updatedSwapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.deep.equal(new BigNumber(4)); + expect(updatedSwapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(14)); + }); + }); +}) diff --git a/packages/asset-swapper/test/utils/swap_quote.ts b/packages/asset-swapper/test/utils/swap_quote.ts index de9c23bf97..2172eab09b 100644 --- a/packages/asset-swapper/test/utils/swap_quote.ts +++ b/packages/asset-swapper/test/utils/swap_quote.ts @@ -25,6 +25,56 @@ export const getSignedOrdersWithNoFees = ( ); }; +export const getSignedOrdersWithFees = ( + makerAssetData: string, + takerAssetData: string, + makerAddress: string, + takerAddress: string, + fillableAmounts: BigNumber[], + takerFees: BigNumber[], +): SignedOrder[] => { + const orders = getSignedOrdersWithNoFees( + makerAssetData, + takerAssetData, + makerAddress, + takerAddress, + fillableAmounts, + ); + return _.map(orders, (order: SignedOrder, index: number) => + orderFactory.createSignedOrderFromPartial({ + ...order, + ...{ takerFee: takerFees[index] }, + }), + ); +}; + +export const getFullyFillableSwapQuoteWithFees = ( + makerAssetData: string, + takerAssetData: string, + orders: SignedOrder[], + feeOrders: SignedOrder[], + operation: MarketOperation, +) => { + const swapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + takerAssetData, + orders, + operation, + ); + swapQuote.feeOrders = feeOrders; + const totalFeeTakerTokenAmount = _.reduce( + feeOrders, + (a: BigNumber, c: SignedOrder) => a.plus(c.takerAssetAmount), + ZERO_BIG_NUMBER, + ); + // Adds fees to the SwapQuoteInfos assuming all feeOrders will be filled + swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount = totalFeeTakerTokenAmount; + swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount = totalFeeTakerTokenAmount; + swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount = swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount.plus(totalFeeTakerTokenAmount); + swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount = swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount.plus(totalFeeTakerTokenAmount); + return swapQuote; +}; + export const getFullyFillableSwapQuoteWithNoFees = ( makerAssetData: string, takerAssetData: string, From 65b2fa13acf8b36cbebbe7e1de8d57408cb4f474 Mon Sep 17 00:00:00 2001 From: David Sun Date: Thu, 18 Jul 2019 13:35:15 -0700 Subject: [PATCH 057/162] added coverage for swap quote calculator --- .../src/utils/swap_quote_calculator.ts | 6 +- .../test/affiliate_fee_utils_test.ts | 12 +- .../test/swap_quote_calculator_test.ts | 183 +++++++++++++++++- 3 files changed, 181 insertions(+), 20 deletions(-) diff --git a/packages/asset-swapper/src/utils/swap_quote_calculator.ts b/packages/asset-swapper/src/utils/swap_quote_calculator.ts index 81a65b5f8a..dbfcb7174d 100644 --- a/packages/asset-swapper/src/utils/swap_quote_calculator.ts +++ b/packages/asset-swapper/src/utils/swap_quote_calculator.ts @@ -220,7 +220,7 @@ function calculateQuoteInfo( let takerTokenAmount = marketOperation === MarketOperation.Sell ? tokenAmount : constants.ZERO_AMOUNT; let zrxTakerTokenAmount = constants.ZERO_AMOUNT; - if (!shouldDisableFeeOrderCalculations && isMakerAssetZrxToken) { + if (isMakerAssetZrxToken) { if (marketOperation === MarketOperation.Buy) { takerTokenAmount = findTakerTokenAmountNeededToBuyZrx(ordersAndFillableAmounts, makerTokenAmount); } else { @@ -229,7 +229,7 @@ function calculateQuoteInfo( takerTokenAmount, ); } - } else if (!shouldDisableFeeOrderCalculations) { + } else { const findTokenAndZrxAmount = marketOperation === MarketOperation.Buy ? findTakerTokenAndZrxAmountNeededToBuyAsset @@ -246,7 +246,7 @@ function calculateQuoteInfo( } const zrxAmountToBuyAsset = tokenAndZrxAmountToBuyAsset[1]; // find eth amount needed to buy zrx - zrxTakerTokenAmount = findTakerTokenAmountNeededToBuyZrx(feeOrdersAndFillableAmounts, zrxAmountToBuyAsset); + zrxTakerTokenAmount = shouldDisableFeeOrderCalculations ? constants.ZERO_AMOUNT : findTakerTokenAmountNeededToBuyZrx(feeOrdersAndFillableAmounts, zrxAmountToBuyAsset); } const feeTakerTokenAmount = zrxTakerTokenAmount; diff --git a/packages/asset-swapper/test/affiliate_fee_utils_test.ts b/packages/asset-swapper/test/affiliate_fee_utils_test.ts index 0be0078121..84b37bfaf8 100644 --- a/packages/asset-swapper/test/affiliate_fee_utils_test.ts +++ b/packages/asset-swapper/test/affiliate_fee_utils_test.ts @@ -1,15 +1,13 @@ -import { MarketOperation, SignedOrder } from '@0x/types'; +import { MarketOperation } from '@0x/types'; import { BigNumber } from '@0x/utils'; import * as chai from 'chai'; import 'mocha'; -import * as TypeMoq from 'typemoq'; import { constants } from '../src/constants'; -import { } from '../src/types'; import { affiliateFeeUtils } from '../src/utils/affiliate_fee_utils'; import { chaiSetup } from './utils/chai_setup'; -import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFees, getSignedOrdersWithFees, getFullyFillableSwapQuoteWithFees } from './utils/swap_quote'; +import { getFullyFillableSwapQuoteWithFees, getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithFees, getSignedOrdersWithNoFees } from './utils/swap_quote'; chaiSetup.configure(); const expect = chai.expect; @@ -29,7 +27,7 @@ describe('affiliateFeeUtils', () => { NULL_ADDRESS, NULL_ADDRESS, FILLABLE_FEE_AMOUNTS, - ) + ); const fakeOrders = getSignedOrdersWithNoFees( FAKE_MAKER_ASSET_DATA, FAKE_TAKER_ASSET_DATA, @@ -57,7 +55,7 @@ describe('affiliateFeeUtils', () => { const fakeSwapQuoteWithFees = getFullyFillableSwapQuoteWithFees( FAKE_MAKER_ASSET_DATA, FAKE_TAKER_ASSET_DATA, - fakeOrders, + fakeOrdersWithFees, fakeFeeOrders, MARKET_OPERATION, ); @@ -83,4 +81,4 @@ describe('affiliateFeeUtils', () => { expect(updatedSwapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(14)); }); }); -}) +}); diff --git a/packages/asset-swapper/test/swap_quote_calculator_test.ts b/packages/asset-swapper/test/swap_quote_calculator_test.ts index c120a2c1b6..bb2a3004fc 100644 --- a/packages/asset-swapper/test/swap_quote_calculator_test.ts +++ b/packages/asset-swapper/test/swap_quote_calculator_test.ts @@ -5,6 +5,7 @@ import * as chai from 'chai'; import * as _ from 'lodash'; import 'mocha'; +import { constants } from '../src/constants'; import { OrdersAndFillableAmounts, SwapQuoterError } from '../src/types'; import { swapQuoteCalculator } from '../src/utils/swap_quote_calculator'; @@ -70,7 +71,7 @@ describe('swapQuoteCalculator', () => { }); describe('InsufficientLiquidityError', () => { it('should throw if not enough taker asset liquidity (multiple orders)', () => { - // we have 150 takerAsset units available to fill but attempt to calculate a quote for 200 takerAsset units + // we have 150 takerAsset units available to sell but attempt to calculate a quote for 200 takerAsset units const errorFunction = () => { swapQuoteCalculator.calculateMarketSellSwapQuote( ordersAndFillableAmounts, @@ -84,7 +85,7 @@ describe('swapQuoteCalculator', () => { testHelpers.expectInsufficientLiquidityError(expect, errorFunction, new BigNumber(150)); }); it('should throw if not enough taker asset liquidity (multiple orders with 20% slippage)', () => { - // we have 150 takerAsset units available to fill but attempt to calculate a quote for 200 makerAsset units + // we have 150 takerAsset units available to sell but attempt to calculate a quote for 200 takerAsset units const errorFunction = () => { swapQuoteCalculator.calculateMarketSellSwapQuote( ordersAndFillableAmounts, @@ -98,7 +99,7 @@ describe('swapQuoteCalculator', () => { testHelpers.expectInsufficientLiquidityError(expect, errorFunction, new BigNumber(125)); }); it('should throw if not enough taker asset liquidity (multiple orders with 5% slippage)', () => { - // we have 150 takerAsset units available to fill but attempt to calculate a quote for 200 makerAsset units + // we have 150 takerAsset units available to fill but attempt to calculate a quote for 200 takerAsset units const errorFunction = () => { swapQuoteCalculator.calculateMarketSellSwapQuote( ordersAndFillableAmounts, @@ -201,12 +202,12 @@ describe('swapQuoteCalculator', () => { ).to.not.throw(); }); it('should throw if not enough ZRX liquidity', () => { - // we request 300 makerAsset units but the ZRX order is only enough to fill the first order, which only has 200 makerAssetUnits available + // we request 75 takerAsset units but the ZRX order is only enough to fill the first order, which only has 50 takerAsset units available expect(() => swapQuoteCalculator.calculateMarketSellSwapQuote( ordersAndFillableAmounts, smallFeeOrderAndFillableAmount, - new BigNumber(125), + new BigNumber(75), 0, false, false, @@ -214,7 +215,7 @@ describe('swapQuoteCalculator', () => { ).to.throw(SwapQuoterError.InsufficientZrxLiquidity); }); it('calculates a correct swapQuote with no slippage', () => { - // we request 100 takerAsset units which can be filled using the first order + // we request 50 takerAsset units which can be filled using the first order // the first order requires a fee of 100 ZRX from the taker which can be filled by the feeOrder const assetSellAmount = new BigNumber(50); const slippagePercentage = 0; @@ -230,7 +231,7 @@ describe('swapQuoteCalculator', () => { expect(swapQuote.orders).to.deep.equal([ordersAndFillableAmounts.orders[0]]); expect(swapQuote.feeOrders).to.deep.equal([smallFeeOrderAndFillableAmount.orders[0]]); // test if rates are correct - // 50 eth to fill the first order + 100 eth for fees + // 50 takerAsset units to fill the first order + 100 takerAsset units for fees const expectedMakerAssetAmountForTakerAsset = new BigNumber(200); const expectedTakerAssetAmountForZrxFees = new BigNumber(100); const expectedTotalTakerAssetAmount = assetSellAmount.plus(expectedTakerAssetAmountForZrxFees); @@ -258,7 +259,7 @@ describe('swapQuoteCalculator', () => { // we request 50 takerAsset units which can be filled using the first order // however with 50% slippage we are protecting the buy with 25 extra takerAssetUnits // so we need enough orders to fill 75 takerAssetUnits - // 150 takerAssetUnits can only be filled using both orders + // 75 takerAssetUnits can only be filled using both orders // the first order requires a fee of 100 ZRX from the taker which can be filled by the feeOrder const assetSellAmount = new BigNumber(50); const slippagePercentage = 0.5; @@ -274,7 +275,6 @@ describe('swapQuoteCalculator', () => { expect(swapQuote.orders).to.deep.equal(ordersAndFillableAmounts.orders); expect(swapQuote.feeOrders).to.deep.equal(allFeeOrdersAndFillableAmounts.orders); // test if rates are correct - // 50 eth to fill the first order + 100 eth for fees const expectedMakerAssetAmountForTakerAsset = new BigNumber(200); const expectedTakerAssetAmountForZrxFees = new BigNumber(100); const expectedTotalTakerAssetAmount = assetSellAmount.plus(expectedTakerAssetAmountForZrxFees); @@ -286,7 +286,7 @@ describe('swapQuoteCalculator', () => { expectedTakerAssetAmountForZrxFees, ); expect(swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal(expectedTotalTakerAssetAmount); - // 100 eth to fill the first order + 208 eth for fees + const expectedWorstMakerAssetAmountForTakerAsset = new BigNumber(100); const expectedWorstTakerAssetAmountForZrxFees = new BigNumber(99); const expectedWorstTotalTakerAssetAmount = assetSellAmount.plus(expectedWorstTakerAssetAmountForZrxFees); @@ -301,6 +301,88 @@ describe('swapQuoteCalculator', () => { expectedWorstTotalTakerAssetAmount, ); }); + it('calculates a correct swapQuote (with fee calculations disabled) with no slippage', () => { + // we request 50 takerAsset units which can be filled using the first order + const assetSellAmount = new BigNumber(50); + const slippagePercentage = 0; + const swapQuote = swapQuoteCalculator.calculateMarketSellSwapQuote( + ordersAndFillableAmounts, + smallFeeOrderAndFillableAmount, + assetSellAmount, + slippagePercentage, + false, + true, + ); + // test if orders are correct + expect(swapQuote.orders).to.deep.equal([ordersAndFillableAmounts.orders[0]]); + expect(swapQuote.feeOrders).to.deep.equal([]); + // test if rates are correct + const expectedMakerAssetAmountForTakerAsset = new BigNumber(200); + const expectedTotalTakerAssetAmount = assetSellAmount; + expect(swapQuote.bestCaseQuoteInfo.takerTokenAmount).to.bignumber.equal(assetSellAmount); + expect(swapQuote.bestCaseQuoteInfo.makerTokenAmount).to.bignumber.equal( + expectedMakerAssetAmountForTakerAsset, + ); + expect(swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( + constants.ZERO_AMOUNT, + ); + expect(swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal(expectedTotalTakerAssetAmount); + // because we have no slippage protection, minRate is equal to maxRate + expect(swapQuote.worstCaseQuoteInfo.takerTokenAmount).to.bignumber.equal(assetSellAmount); + expect(swapQuote.worstCaseQuoteInfo.makerTokenAmount).to.bignumber.equal( + expectedMakerAssetAmountForTakerAsset, + ); + expect(swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( + constants.ZERO_AMOUNT, + ); + expect(swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal( + expectedTotalTakerAssetAmount, + ); + }); + it('calculates a correct swapQuote (with fee calculatations disabled) with slippage', () => { + // we request 50 takerAsset units which can be filled using the first order + // however with 50% slippage we are protecting the buy with 25 extra takerAssetUnits + // so we need enough orders to fill 75 takerAssetUnits + // 50 takerAssetUnits can only be filled using both orders + // the first order requires a fee of 100 ZRX from the taker which can be filled by the feeOrder + const assetSellAmount = new BigNumber(50); + const slippagePercentage = 0.5; + const swapQuote = swapQuoteCalculator.calculateMarketSellSwapQuote( + ordersAndFillableAmounts, + allFeeOrdersAndFillableAmounts, + assetSellAmount, + slippagePercentage, + false, + true, + ); + // test if orders are correct + expect(swapQuote.orders).to.deep.equal(ordersAndFillableAmounts.orders); + expect(swapQuote.feeOrders).to.deep.equal([]); + // test if rates are correct + const expectedMakerAssetAmountForTakerAsset = new BigNumber(200); + const expectedTotalTakerAssetAmount = assetSellAmount; + expect(swapQuote.bestCaseQuoteInfo.takerTokenAmount).to.bignumber.equal(assetSellAmount); + expect(swapQuote.bestCaseQuoteInfo.makerTokenAmount).to.bignumber.equal( + expectedMakerAssetAmountForTakerAsset, + ); + expect(swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( + constants.ZERO_AMOUNT, + ); + expect(swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal(expectedTotalTakerAssetAmount); + // 100 eth to fill the first order + 208 eth for fees + const expectedWorstMakerAssetAmountForTakerAsset = new BigNumber(100); + const expectedWorstTotalTakerAssetAmount = assetSellAmount; + expect(swapQuote.worstCaseQuoteInfo.takerTokenAmount).to.bignumber.equal(assetSellAmount); + expect(swapQuote.worstCaseQuoteInfo.makerTokenAmount).to.bignumber.equal( + expectedWorstMakerAssetAmountForTakerAsset, + ); + expect(swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( + constants.ZERO_AMOUNT, + ); + expect(swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal( + expectedWorstTotalTakerAssetAmount, + ); + }); }); describe('#calculateMarketBuySwapQuote', () => { let firstOrder: SignedOrder; @@ -588,5 +670,86 @@ describe('swapQuoteCalculator', () => { expectedWorstTotalTakerAssetAmount, ); }); + it('calculates a correct swapQuote (with fee calculations disabled) with no slippage', () => { + // we request 200 makerAsset units which can be filled using the first order + // the first order requires a fee of 100 ZRX from the taker which can be filled by the feeOrder + const assetBuyAmount = new BigNumber(200); + const slippagePercentage = 0; + const swapQuote = swapQuoteCalculator.calculateMarketBuySwapQuote( + ordersAndFillableAmounts, + smallFeeOrderAndFillableAmount, + assetBuyAmount, + slippagePercentage, + false, + true, + ); + // test if orders are correct + expect(swapQuote.orders).to.deep.equal([ordersAndFillableAmounts.orders[0]]); + expect(swapQuote.feeOrders).to.deep.equal([]); + // test if rates are correct + // 50 eth to fill the first order + 100 eth for fees + const expectedTakerAssetAmountForMakerAsset = new BigNumber(50); + const expectedTotalTakerAssetAmount = expectedTakerAssetAmountForMakerAsset; + expect(swapQuote.bestCaseQuoteInfo.takerTokenAmount).to.bignumber.equal( + expectedTakerAssetAmountForMakerAsset, + ); + expect(swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( + constants.ZERO_AMOUNT, + ); + expect(swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal(expectedTotalTakerAssetAmount); + // because we have no slippage protection, minRate is equal to maxRate + expect(swapQuote.worstCaseQuoteInfo.takerTokenAmount).to.bignumber.equal( + expectedTakerAssetAmountForMakerAsset, + ); + expect(swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( + constants.ZERO_AMOUNT, + ); + expect(swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal( + expectedTotalTakerAssetAmount, + ); + }); + it('calculates a correct swapQuote (with fee calculations disabled) with slippage', () => { + // we request 200 makerAsset units which can be filled using the first order + // however with 50% slippage we are protecting the buy with 100 extra makerAssetUnits + // so we need enough orders to fill 300 makerAssetUnits + // 300 makerAssetUnits can only be filled using both orders + // the first order requires a fee of 100 ZRX from the taker which can be filled by the feeOrder + const assetBuyAmount = new BigNumber(200); + const slippagePercentage = 0.5; + const swapQuote = swapQuoteCalculator.calculateMarketBuySwapQuote( + ordersAndFillableAmounts, + allFeeOrdersAndFillableAmounts, + assetBuyAmount, + slippagePercentage, + false, + true, + ); + // test if orders are correct + expect(swapQuote.orders).to.deep.equal(ordersAndFillableAmounts.orders); + expect(swapQuote.feeOrders).to.deep.equal([]); + // test if rates are correct + // 50 eth to fill the first order + 100 eth for fees + const expectedTakerAssetAmountForMakerAsset = new BigNumber(50); + const expectedTotalTakerAssetAmount = expectedTakerAssetAmountForMakerAsset; + expect(swapQuote.bestCaseQuoteInfo.takerTokenAmount).to.bignumber.equal( + expectedTakerAssetAmountForMakerAsset, + ); + expect(swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( + constants.ZERO_AMOUNT, + ); + expect(swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal(expectedTotalTakerAssetAmount); + // 100 eth to fill the first order + 208 eth for fees + const expectedWorstTakerAssetAmountForMakerAsset = new BigNumber(100); + const expectedWorstTotalTakerAssetAmount = expectedWorstTakerAssetAmountForMakerAsset; + expect(swapQuote.worstCaseQuoteInfo.takerTokenAmount).to.bignumber.equal( + expectedWorstTakerAssetAmountForMakerAsset, + ); + expect(swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( + constants.ZERO_AMOUNT, + ); + expect(swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal( + expectedWorstTotalTakerAssetAmount, + ); + }); }); }); From 4c17c142f9698e32b3face2fc3ec80e812408b35 Mon Sep 17 00:00:00 2001 From: David Sun Date: Thu, 18 Jul 2019 16:22:55 -0700 Subject: [PATCH 058/162] ground work for forwarder consumer --- .../forwarder_swap_quote_consumer_test.ts | 250 +++++++++--------- 1 file changed, 124 insertions(+), 126 deletions(-) diff --git a/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts b/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts index 02cbf83d65..a2a40d4e3f 100644 --- a/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts +++ b/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts @@ -1,136 +1,134 @@ -// import { tokenUtils } from '@0x/contract-wrappers/lib/test/utils/token_utils'; -// import { BlockchainLifecycle } from '@0x/dev-utils'; -// import { FillScenarios } from '@0x/fill-scenarios'; -// import { assetDataUtils } from '@0x/order-utils'; -// import { BigNumber } from '@0x/utils'; -// import 'mocha'; +import { tokenUtils } from '@0x/contract-wrappers/lib/test/utils/token_utils'; +import { BlockchainLifecycle } from '@0x/dev-utils'; +import { FillScenarios } from '@0x/fill-scenarios'; +import { assetDataUtils } from '@0x/order-utils'; +import { MarketOperation } from '@0x/types'; +import { BigNumber } from '@0x/utils'; +import * as chai from 'chai'; +import 'mocha'; -// import { ForwarderSwapQuoteConsumer } from '../src'; +import { ForwarderSwapQuoteConsumer } from '../src/quote_consumers/forwarder_swap_quote_consumer'; -// import { chaiSetup } from './utils/chai_setup'; -// import { migrateOnceAsync } from './utils/migrate'; -// import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFees } from './utils/swap_quote'; -// import { provider, web3Wrapper } from './utils/web3_wrapper'; +import { chaiSetup } from './utils/chai_setup'; +import { migrateOnceAsync } from './utils/migrate'; +import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFees } from './utils/swap_quote'; +import { provider, web3Wrapper } from './utils/web3_wrapper'; -// chaiSetup.configure(); -// const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); +chaiSetup.configure(); +const expect = chai.expect; +const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); -// const FILLABLE_AMOUNTS = [new BigNumber(5), new BigNumber(10)]; -// const TESTRPC_NETWORK_ID = 50; +const FILLABLE_AMOUNTS = [new BigNumber(5), new BigNumber(10)]; +const TESTRPC_NETWORK_ID = 50; +const MARKET_OPERATION = MarketOperation.Sell; -// describe('ForwarderSwapQuoteConsumer', () => { -// // let userAddresses: string[]; -// // let makerAddress: string; -// // let takerAddress: string; -// // let fillScenarios: FillScenarios; -// // let feeRecipient: string; -// // let makerAssetData: string; -// // let takerAssetData: string; -// // let wethAssetData: string; -// // const networkId = TESTRPC_NETWORK_ID; -// before(async () => { -// // const contractAddresses = await migrateOnceAsync(); -// // await blockchainLifecycle.startAsync(); -// // userAddresses = await web3Wrapper.getAvailableAddressesAsync(); -// // fillScenarios = new FillScenarios( -// // provider, -// // userAddresses, -// // contractAddresses.zrxToken, -// // contractAddresses.exchange, -// // contractAddresses.erc20Proxy, -// // contractAddresses.erc721Proxy, -// // ); -// // [makerAddress, takerAddress, feeRecipient] = userAddresses; -// // const [makerTokenAddress, takerTokenAddress] = tokenUtils.getDummyERC20TokenAddresses(); -// // [makerAssetData, takerAssetData, wethAssetData] = [ -// // assetDataUtils.encodeERC20AssetData(makerTokenAddress), -// // assetDataUtils.encodeERC20AssetData(takerTokenAddress), -// // assetDataUtils.encodeERC20AssetData(contractAddresses.etherToken), -// // ]; -// }); -// after(async () => { -// // await blockchainLifecycle.revertAsync(); -// }); -// beforeEach(async () => { -// // await blockchainLifecycle.startAsync(); -// // This constructor has incorrect types -// }); -// afterEach(async () => { -// // await blockchainLifecycle.revertAsync(); -// }); -// describe('getSmartContractParamsOrThrow', () => { +describe('ForwarderSwapQuoteConsumer', () => { + let userAddresses: string[]; + let makerAddress: string; + let takerAddress: string; + let fillScenarios: FillScenarios; + let feeRecipient: string; + let makerAssetData: string; + let takerAssetData: string; + let wethAssetData: string; + const networkId = TESTRPC_NETWORK_ID; + before(async () => { + const contractAddresses = await migrateOnceAsync(); + await blockchainLifecycle.startAsync(); + userAddresses = await web3Wrapper.getAvailableAddressesAsync(); + fillScenarios = new FillScenarios( + provider, + userAddresses, + contractAddresses.zrxToken, + contractAddresses.exchange, + contractAddresses.erc20Proxy, + contractAddresses.erc721Proxy, + ); + [makerAddress, takerAddress, feeRecipient] = userAddresses; + const [makerTokenAddress, takerTokenAddress] = tokenUtils.getDummyERC20TokenAddresses(); + [makerAssetData, takerAssetData, wethAssetData] = [ + assetDataUtils.encodeERC20AssetData(makerTokenAddress), + assetDataUtils.encodeERC20AssetData(takerTokenAddress), + assetDataUtils.encodeERC20AssetData(contractAddresses.etherToken), + ]; + }); + after(async () => { + await blockchainLifecycle.revertAsync(); + }); + beforeEach(async () => { + await blockchainLifecycle.startAsync(); + }); + afterEach(async () => { + await blockchainLifecycle.revertAsync(); + }); + describe('executeSwapQuoteOrThrowAsync', () => { -// describe('validation', () => { -// it('should throw if swap quote provided is not a valid forwarder SwapQuote (taker asset is WETH)', async () => { -// // const invalidSignedOrders = getSignedOrdersWithNoFees( -// // makerAssetData, -// // takerAssetData, -// // makerAddress, -// // takerAddress, -// // FILLABLE_AMOUNTS, -// // ); -// // const invalidSwapQuote = getFullyFillableSwapQuoteWithNoFees(makerAssetData, takerAssetData, invalidSignedOrders); -// // const swapQuoteConsumer = new ForwarderSwapQuoteConsumer(provider, {}); -// // TODO(dave4506) finish up testing/coverage -// // expect( -// // swapQuoteConsumer.getSmartContractParamsOrThrow(invalidSwapQuote, {}), -// // ).to.throws(); -// }); -// }); + describe('validation', () => { + it('should throw if swapQuote provided is not a valid forwarder SwapQuote (taker asset is wEth', async () => { + const invalidSignedOrders = getSignedOrdersWithNoFees( + makerAssetData, + takerAssetData, + makerAddress, + takerAddress, + FILLABLE_AMOUNTS, + ); + const invalidSwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + takerAssetData, + invalidSignedOrders, + MARKET_OPERATION, + ); + const swapQuoteConsumer = new ForwarderSwapQuoteConsumer(provider, { + networkId, + }); + expect( + swapQuoteConsumer.executeSwapQuoteOrThrowAsync(invalidSwapQuote, {}), + ).to.be.rejectedWith(`Expected quote.orders[0] to have takerAssetData set as ${wethAssetData}, but is ${takerAssetData}`); + }); + }); -// describe('valid swap quote', async () => { -// it('provide correct smart contract params with default options', async () => { -// // const signedOrders = getSignedOrdersWithNoFees( -// // makerAssetData, -// // wethAssetData, -// // makerAddress, -// // takerAddress, -// // FILLABLE_AMOUNTS, -// // ); -// // const swapQuote = getFullyFillableSwapQuoteWithNoFees(makerAssetData, takerAssetData, signedOrders); -// // const swapQuoteConsumer = new ForwarderSwapQuoteConsumer(provider, { networkId }); -// // const smartContractParamsInfo = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(swapQuote, {}); -// // console.log(smartContractParamsInfo); -// // TODO(dave4506): Add elaborate testing -// }); -// }); -// }); + it('should perform a marketSell execution when provided a MarketSell type swapQuote', () => {}); + it('should perform a marketBuy execution when provided a MarketBuy type swapQuote', () => {}); -// describe('getCalldataOrThrow', () => { + it('should perform a marketSell execution with affiliate fees', () => {}); + it('should perform a marketSell execution with provided ethAmount in options', () => {}); + it('should perform a marketSell execution with provided takerAddress in options', () => {}); + }); -// describe('validation', () => { -// it('should throw if swap quote provided is not a valid forwarder SwapQuote (taker asset is WETH)', async () => { -// // const invalidSignedOrders = getSignedOrdersWithNoFees( -// // makerAssetData, -// // takerAssetData, -// // makerAddress, -// // takerAddress, -// // FILLABLE_AMOUNTS, -// // ); -// // const invalidSwapQuote = getFullyFillableSwapQuoteWithNoFees(makerAssetData, takerAssetData, invalidSignedOrders); -// // const swapQuoteConsumer = new ForwarderSwapQuoteConsumer(provider, {}); -// // TODO(dave4506) finish up testing/coverage -// // expect( -// // swapQuoteConsumer.getSmartContractParamsOrThrow(invalidSwapQuote, {}), -// // ).to.throws(); -// }); -// }); + describe('getSmartContractParamsOrThrow', () => { -// describe('valid swap quote', async () => { -// it('provide correct calldata hex with default options', async () => { -// // const signedOrders = getSignedOrdersWithNoFees( -// // makerAssetData, -// // wethAssetData, -// // makerAddress, -// // takerAddress, -// // FILLABLE_AMOUNTS, -// // ); -// // const swapQuote = getFullyFillableSwapQuoteWithNoFees(makerAssetData, takerAssetData, signedOrders); -// // const swapQuoteConsumer = new ForwarderSwapQuoteConsumer(provider, { networkId }); -// // const callDataInfo = await swapQuoteConsumer.getCalldataOrThrowAsync(swapQuote, {}); -// // console.log(callDataInfo); -// // TODO(dave4506): Add elaborate testing -// }); -// }); -// }); -// }); + describe('validation', () => { + it('should throw if swap quote provided is not a valid forwarder SwapQuote (taker asset is WETH)', async () => { + }); + }); + + describe('valid swap quote', async () => { + it('provide correct and optimized smart contract params with default options for a marketSell SwapQuote (no affiliate fees)', async () => { + }); + it('provide correct and optimized smart contract params with default options for a marketBuy SwapQuote (no affiliate fees)', async () => { + }); + it('provide correct and optimized smart contract params with affiliate fees for a marketSell SwapQuote', async () => { + }); + it('provide correct and optimized smart contract params with affiliate fees for a marketBuy SwapQuote', async () => { + }); + }); + }); + + describe('getCalldataOrThrow', () => { + describe('validation', () => { + it('should throw if swap quote provided is not a valid forwarder SwapQuote (taker asset is WETH)', async () => { + }); + }); + + describe('valid swap quote', async () => { + it('provide correct and optimized calldata options with default options for a marketSell SwapQuote (no affiliate fees)', async () => { + }); + it('provide correct and optimized calldata options with default options for a marketBuy SwapQuote (no affiliate fees)', async () => { + }); + it('provide correct and optimized calldata options with affiliate fees for a marketSell SwapQuote', async () => { + }); + it('provide correct and optimized calldata options with affiliate fees for a marketBuy SwapQuote', async () => { + }); + }); + }); +}); From 4b038b07ed81693600ac64958351fe8c50fa0556 Mon Sep 17 00:00:00 2001 From: David Sun Date: Mon, 22 Jul 2019 16:33:56 -0700 Subject: [PATCH 059/162] changes for testing --- .../quote_consumers/swap_quote_consumer.ts | 20 +- .../src/utils/swap_quote_consumer_utils.ts | 13 +- .../test/affiliate_fee_utils_test.ts | 8 +- .../forwarder_swap_quote_consumer_test.ts | 123 +++++++++++-- .../test/swap_quote_consumer_utils_test.ts | 172 ++++++++++++++++++ .../asset-swapper/test/utils/swap_quote.ts | 30 ++- 6 files changed, 328 insertions(+), 38 deletions(-) create mode 100644 packages/asset-swapper/test/swap_quote_consumer_utils_test.ts diff --git a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts b/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts index 9e388613d1..de69726c59 100644 --- a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts +++ b/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts @@ -75,19 +75,17 @@ export class SwapQuoteConsumer implements SwapQuoteConsumerBase, ): Promise> { - if (opts.useConsumerType === ConsumerType.Exchange) { + const useConsumerType = opts.useConsumerType || await swapQuoteConsumerUtils.getConsumerTypeForSwapQuoteAsync( + quote, + this._contractWrappers, + this.provider, + opts, + ); + if (useConsumerType === ConsumerType.Exchange) { return this._exchangeConsumer; - } else if (opts.useConsumerType === ConsumerType.Forwarder) { + } else if (useConsumerType === ConsumerType.Forwarder) { return this._forwarderConsumer; - } else { - return swapQuoteConsumerUtils.getConsumerForSwapQuoteAsync( - quote, - this._contractWrappers, - this.provider, - this._exchangeConsumer, - this._forwarderConsumer, - opts, - ); } + return this._exchangeConsumer; } } diff --git a/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts b/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts index 0ca2651f06..443b49b290 100644 --- a/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts +++ b/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts @@ -9,6 +9,7 @@ import { constants } from '../constants'; import { ExchangeSwapQuoteConsumer } from '../quote_consumers/exchange_swap_quote_consumer'; import { ForwarderSwapQuoteConsumer } from '../quote_consumers/forwarder_swap_quote_consumer'; import { + ConsumerType, SmartContractParams, SwapQuote, SwapQuoteConsumerBase, @@ -87,10 +88,8 @@ export const swapQuoteConsumerUtils = { quote: SwapQuote, contractWrappers: ContractWrappers, provider: Provider, - exchangeConsumer: ExchangeSwapQuoteConsumer, - forwarderConsumer: ForwarderSwapQuoteConsumer, opts: Partial, - ): Promise> { + ): Promise { const wethAssetData = assetDataUtils.getEtherTokenAssetData(contractWrappers); if (swapQuoteConsumerUtils.isValidForwarderSwapQuote(quote, wethAssetData)) { if (opts.takerAddress !== undefined) { @@ -108,14 +107,14 @@ export const swapQuoteConsumerUtils = { ); if (isEnoughEthAndWethBalance[1]) { // should be more gas efficient to use exchange consumer, so if possible use it. - return exchangeConsumer; + return ConsumerType.Exchange; } else if (isEnoughEthAndWethBalance[0] && !isEnoughEthAndWethBalance[1]) { - return forwarderConsumer; + return ConsumerType.Forwarder; } // Note: defaulting to forwarderConsumer if takerAddress is null or not enough balance of either wEth or Eth - return forwarderConsumer; + return ConsumerType.Forwarder; } else { - return exchangeConsumer; + return ConsumerType.Exchange; } }, }; diff --git a/packages/asset-swapper/test/affiliate_fee_utils_test.ts b/packages/asset-swapper/test/affiliate_fee_utils_test.ts index 84b37bfaf8..bc933b3671 100644 --- a/packages/asset-swapper/test/affiliate_fee_utils_test.ts +++ b/packages/asset-swapper/test/affiliate_fee_utils_test.ts @@ -7,7 +7,7 @@ import { constants } from '../src/constants'; import { affiliateFeeUtils } from '../src/utils/affiliate_fee_utils'; import { chaiSetup } from './utils/chai_setup'; -import { getFullyFillableSwapQuoteWithFees, getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithFees, getSignedOrdersWithNoFees } from './utils/swap_quote'; +import { getFullyFillableSwapQuoteWithFees, getFullyFillableSwapQuoteWithNoFees, getPartialSignedOrdersWithFees, getPartialSignedOrdersWithNoFees } from './utils/swap_quote'; chaiSetup.configure(); const expect = chai.expect; @@ -21,14 +21,14 @@ const FILLABLE_FEE_AMOUNTS = [new BigNumber(1), new BigNumber(1), new BigNumber( const MARKET_OPERATION = MarketOperation.Sell; describe('affiliateFeeUtils', () => { - const fakeFeeOrders = getSignedOrdersWithNoFees( + const fakeFeeOrders = getPartialSignedOrdersWithNoFees( FAKE_MAKER_ASSET_DATA, FAKE_TAKER_ASSET_DATA, NULL_ADDRESS, NULL_ADDRESS, FILLABLE_FEE_AMOUNTS, ); - const fakeOrders = getSignedOrdersWithNoFees( + const fakeOrders = getPartialSignedOrdersWithNoFees( FAKE_MAKER_ASSET_DATA, FAKE_TAKER_ASSET_DATA, NULL_ADDRESS, @@ -36,7 +36,7 @@ describe('affiliateFeeUtils', () => { FILLABLE_AMOUNTS, ); - const fakeOrdersWithFees = getSignedOrdersWithFees( + const fakeOrdersWithFees = getPartialSignedOrdersWithFees( FAKE_MAKER_ASSET_DATA, FAKE_TAKER_ASSET_DATA, NULL_ADDRESS, diff --git a/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts b/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts index a2a40d4e3f..4d48e4eaae 100644 --- a/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts +++ b/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts @@ -2,7 +2,7 @@ import { tokenUtils } from '@0x/contract-wrappers/lib/test/utils/token_utils'; import { BlockchainLifecycle } from '@0x/dev-utils'; import { FillScenarios } from '@0x/fill-scenarios'; import { assetDataUtils } from '@0x/order-utils'; -import { MarketOperation } from '@0x/types'; +import { MarketOperation, SignedOrder } from '@0x/types'; import { BigNumber } from '@0x/utils'; import * as chai from 'chai'; import 'mocha'; @@ -11,29 +11,39 @@ import { ForwarderSwapQuoteConsumer } from '../src/quote_consumers/forwarder_swa import { chaiSetup } from './utils/chai_setup'; import { migrateOnceAsync } from './utils/migrate'; -import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFees } from './utils/swap_quote'; +import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFeesAsync } from './utils/swap_quote'; import { provider, web3Wrapper } from './utils/web3_wrapper'; +import { SwapQuote } from '../src'; +import { ContractWrappers, ContractAddresses } from '@0x/contract-wrappers'; chaiSetup.configure(); const expect = chai.expect; const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); -const FILLABLE_AMOUNTS = [new BigNumber(5), new BigNumber(10)]; +const ONE_ETH_IN_WEI = new BigNumber(1000000000000000000); const TESTRPC_NETWORK_ID = 50; const MARKET_OPERATION = MarketOperation.Sell; +const FILLABLE_AMOUNTS = [new BigNumber(2), new BigNumber(3), new BigNumber(5)].map(value => value.multipliedBy(ONE_ETH_IN_WEI)); +const FILLABLE_FEE_AMOUNTS = [new BigNumber(1), new BigNumber(1), new BigNumber(1)].map(value => value.multipliedBy(ONE_ETH_IN_WEI)); describe('ForwarderSwapQuoteConsumer', () => { + let contractWrappers: ContractWrappers; let userAddresses: string[]; + let coinbaseAddress: string; let makerAddress: string; let takerAddress: string; let fillScenarios: FillScenarios; let feeRecipient: string; + let makerTokenAddress: string; + let takerTokenAddress: string; let makerAssetData: string; let takerAssetData: string; let wethAssetData: string; + let contractAddresses: ContractAddresses; + const networkId = TESTRPC_NETWORK_ID; before(async () => { - const contractAddresses = await migrateOnceAsync(); + contractAddresses = await migrateOnceAsync(); await blockchainLifecycle.startAsync(); userAddresses = await web3Wrapper.getAvailableAddressesAsync(); fillScenarios = new FillScenarios( @@ -44,8 +54,13 @@ describe('ForwarderSwapQuoteConsumer', () => { contractAddresses.erc20Proxy, contractAddresses.erc721Proxy, ); - [makerAddress, takerAddress, feeRecipient] = userAddresses; - const [makerTokenAddress, takerTokenAddress] = tokenUtils.getDummyERC20TokenAddresses(); + const config = { + networkId, + contractAddresses, + }; + contractWrappers = new ContractWrappers(provider, config); + [coinbaseAddress, takerAddress, makerAddress, feeRecipient] = userAddresses; + [makerTokenAddress, takerTokenAddress] = tokenUtils.getDummyERC20TokenAddresses(); [makerAssetData, takerAssetData, wethAssetData] = [ assetDataUtils.encodeERC20AssetData(makerTokenAddress), assetDataUtils.encodeERC20AssetData(takerTokenAddress), @@ -65,7 +80,8 @@ describe('ForwarderSwapQuoteConsumer', () => { describe('validation', () => { it('should throw if swapQuote provided is not a valid forwarder SwapQuote (taker asset is wEth', async () => { - const invalidSignedOrders = getSignedOrdersWithNoFees( + const invalidSignedOrders = await getSignedOrdersWithNoFeesAsync( + provider, makerAssetData, takerAssetData, makerAddress, @@ -82,17 +98,98 @@ describe('ForwarderSwapQuoteConsumer', () => { networkId, }); expect( - swapQuoteConsumer.executeSwapQuoteOrThrowAsync(invalidSwapQuote, {}), + swapQuoteConsumer.executeSwapQuoteOrThrowAsync(invalidSwapQuote, { takerAddress }), ).to.be.rejectedWith(`Expected quote.orders[0] to have takerAssetData set as ${wethAssetData}, but is ${takerAssetData}`); }); }); - it('should perform a marketSell execution when provided a MarketSell type swapQuote', () => {}); - it('should perform a marketBuy execution when provided a MarketBuy type swapQuote', () => {}); + describe('valid swap quote', () => { + let orders: SignedOrder[]; + let marketSellSwapQuote: SwapQuote; + let marketBuySwapQuote: SwapQuote; + let swapQuoteConsumer: ForwarderSwapQuoteConsumer; + let erc20ProxyAddress: string; + beforeEach(async () => { - it('should perform a marketSell execution with affiliate fees', () => {}); - it('should perform a marketSell execution with provided ethAmount in options', () => {}); - it('should perform a marketSell execution with provided takerAddress in options', () => {}); + const UNLIMITED_ALLOWANCE = contractWrappers.erc20Token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS; + erc20ProxyAddress = contractWrappers.erc20Proxy.address; + + const totalFillableAmount = FILLABLE_AMOUNTS.reduce((a: BigNumber, c: BigNumber) => a.plus(c), new BigNumber(0)); + + await contractWrappers.erc20Token.transferAsync(makerTokenAddress, coinbaseAddress, makerAddress, totalFillableAmount); + + await contractWrappers.erc20Token.setAllowanceAsync(makerTokenAddress, makerAddress, erc20ProxyAddress, UNLIMITED_ALLOWANCE); + orders = await getSignedOrdersWithNoFeesAsync( + provider, + makerAssetData, + wethAssetData, + makerAddress, + takerAddress, + FILLABLE_AMOUNTS, + ); + + marketSellSwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + wethAssetData, + orders, + MarketOperation.Sell, + ); + + marketBuySwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + wethAssetData, + orders, + MarketOperation.Buy, + ); + + swapQuoteConsumer = new ForwarderSwapQuoteConsumer(provider, { + networkId, + }); + }); + /* + * Testing that SwapQuoteConsumer logic correctly performs a execution (doesn't throw or revert) + * Does not test the validity of the state change performed by the forwarder smart contract + */ + it('should perform a marketSell execution when provided a MarketSell type swapQuote', async () => { + const makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + const takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + console.log(makerBalance, takerBalance); + const preEthBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); + const preEthBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); + console.log('maker eth balance', preEthBalanceMaker, 'taker eth balance', preEthBalanceTaker); + expect( + swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketSellSwapQuote, { takerAddress }), + ).to.not.be.rejected(); + const ethBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); + const ethBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); + console.log('maker eth balance', ethBalanceMaker, 'taker eth balance', ethBalanceTaker); + const postMakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + const postTakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + console.log(postMakerBalance, postTakerBalance); + }); + it('should perform a marketBuy execution when provided a MarketBuy type swapQuote', async () => { + const makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + const takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + console.log(makerBalance, takerBalance); + const preEthBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); + const preEthBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); + console.log('maker eth balance', preEthBalanceMaker, 'taker eth balance', preEthBalanceTaker); + expect( + swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress }), + ).to.not.be.rejected(); + const ethBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); + const ethBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); + console.log('maker eth balance', ethBalanceMaker, 'taker eth balance', ethBalanceTaker); + const postMakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + const postTakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + console.log(postMakerBalance, postTakerBalance); + }); + + it('should perform a marketSell execution with affiliate fees', () => {}); + it('should perform a marketSell execution with provided ethAmount in options', () => {}); + it('should throw on a marketSell execution with provided ethAmount that is lower than bestCaseQuoteInfo.totalTakerAssetAmount in options', () => {}); + it('should perform a marketSell execution with provided takerAddress in options', () => {}); + }); }); describe('getSmartContractParamsOrThrow', () => { diff --git a/packages/asset-swapper/test/swap_quote_consumer_utils_test.ts b/packages/asset-swapper/test/swap_quote_consumer_utils_test.ts new file mode 100644 index 0000000000..f86e99de87 --- /dev/null +++ b/packages/asset-swapper/test/swap_quote_consumer_utils_test.ts @@ -0,0 +1,172 @@ +import { tokenUtils } from '@0x/contract-wrappers/lib/test/utils/token_utils'; +import { BlockchainLifecycle } from '@0x/dev-utils'; +import { FillScenarios } from '@0x/fill-scenarios'; +import { assetDataUtils } from '@0x/order-utils'; +import { MarketOperation, SignedOrder } from '@0x/types'; +import { BigNumber } from '@0x/utils'; +import * as chai from 'chai'; +import 'mocha'; + +import { chaiSetup } from './utils/chai_setup'; +import { migrateOnceAsync } from './utils/migrate'; +import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFeesAsync } from './utils/swap_quote'; +import { provider, web3Wrapper } from './utils/web3_wrapper'; +import { SwapQuote, SwapQuoteConsumer } from '../src'; +import { ContractWrappers, ContractAddresses } from '@0x/contract-wrappers'; +import { swapQuoteConsumerUtils } from '../src/utils/swap_quote_consumer_utils'; +import { ConsumerType } from '../src/types'; + +chaiSetup.configure(); +const expect = chai.expect; +const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); + +const ONE_ETH_IN_WEI = new BigNumber(1000000000000000000); +const TESTRPC_NETWORK_ID = 50; +const MARKET_OPERATION = MarketOperation.Sell; +const FILLABLE_AMOUNTS = [new BigNumber(2), new BigNumber(3), new BigNumber(5)].map(value => value.multipliedBy(ONE_ETH_IN_WEI)); +const LARGE_FILLABLE_AMOUNTS = [new BigNumber(20), new BigNumber(20), new BigNumber(20)].map(value => value.multipliedBy(ONE_ETH_IN_WEI)); + +describe('swapQuoteConsumerUtils', () => { + let contractWrappers: ContractWrappers; + let userAddresses: string[]; + let makerAddress: string; + let takerAddress: string; + let feeRecipient: string; + let makerTokenAddress: string; + let takerTokenAddress: string; + let makerAssetData: string; + let takerAssetData: string; + let wethAssetData: string; + let contractAddresses: ContractAddresses; + + const networkId = TESTRPC_NETWORK_ID; + before(async () => { + contractAddresses = await migrateOnceAsync(); + await blockchainLifecycle.startAsync(); + userAddresses = await web3Wrapper.getAvailableAddressesAsync(); + const config = { + networkId, + contractAddresses, + }; + contractWrappers = new ContractWrappers(provider, config); + [takerAddress, makerAddress, feeRecipient] = userAddresses; + [makerTokenAddress, takerTokenAddress] = tokenUtils.getDummyERC20TokenAddresses(); + [makerAssetData, takerAssetData, wethAssetData] = [ + assetDataUtils.encodeERC20AssetData(makerTokenAddress), + assetDataUtils.encodeERC20AssetData(takerTokenAddress), + assetDataUtils.encodeERC20AssetData(contractAddresses.etherToken), + ]; + }); + after(async () => { + await blockchainLifecycle.revertAsync(); + }); + beforeEach(async () => { + await blockchainLifecycle.startAsync(); + }); + afterEach(async () => { + await blockchainLifecycle.revertAsync(); + }); + + describe('getConsumerTypeForSwapQuoteAsync', () => { + let forwarderOrders: SignedOrder[]; + let exchangeOrders: SignedOrder[]; + let largeForwarderOrders: SignedOrder[]; + let forwarderSwapQuote: SwapQuote; + let exchangeSwapQuote: SwapQuote; + let largeForwarderSwapQuote: SwapQuote; + let swapQuoteConsumer: SwapQuoteConsumer; + + beforeEach(async () => { + swapQuoteConsumer = new SwapQuoteConsumer(provider, { networkId }); + + exchangeOrders = await getSignedOrdersWithNoFeesAsync( + provider, + makerAssetData, + takerAssetData, + makerAddress, + takerAddress, + FILLABLE_AMOUNTS, + ); + + forwarderOrders = await getSignedOrdersWithNoFeesAsync( + provider, + makerAssetData, + wethAssetData, + makerAddress, + takerAddress, + FILLABLE_AMOUNTS, + ); + + largeForwarderOrders = await getSignedOrdersWithNoFeesAsync( + provider, + makerAssetData, + wethAssetData, + makerAddress, + takerAddress, + LARGE_FILLABLE_AMOUNTS, + ); + + forwarderSwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + wethAssetData, + forwarderOrders, + MarketOperation.Sell, + ); + + largeForwarderSwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + wethAssetData, + largeForwarderOrders, + MarketOperation.Sell, + ); + + exchangeSwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + takerAssetData, + exchangeOrders, + MarketOperation.Sell, + ); + }); + + it('should return exchange consumer if takerAsset is not wEth', async () => { + const consumerType = await swapQuoteConsumerUtils.getConsumerTypeForSwapQuoteAsync( + exchangeSwapQuote, + contractWrappers, + provider, + { takerAddress }, + ); + expect(consumerType).to.equal(ConsumerType.Exchange); + }); + it('should return forwarder consumer if takerAsset is wEth and have enough eth balance', async () => { + const consumerType = await swapQuoteConsumerUtils.getConsumerTypeForSwapQuoteAsync( + forwarderSwapQuote, + contractWrappers, + provider, + { takerAddress }, + ); + expect(consumerType).to.equal(ConsumerType.Forwarder); + }); + it('should return exchange consumer if takerAsset is wEth and taker has enough weth', async () => { + const etherInWei = (new BigNumber(20)).multipliedBy(ONE_ETH_IN_WEI); + await contractWrappers.etherToken.depositAsync(contractAddresses.etherToken, etherInWei, takerAddress); + const consumerType = await swapQuoteConsumerUtils.getConsumerTypeForSwapQuoteAsync( + forwarderSwapQuote, + contractWrappers, + provider, + { takerAddress }, + ); + expect(consumerType).to.equal(ConsumerType.Exchange); + }); + it('should return forwarder consumer if takerAsset is wEth and takerAddress has no available balance in either weth or eth (defaulting behavior)',async () => { + const etherInWei = (new BigNumber(50)).multipliedBy(ONE_ETH_IN_WEI); + await contractWrappers.etherToken.depositAsync(contractAddresses.etherToken, etherInWei, takerAddress); + const consumerType = await swapQuoteConsumerUtils.getConsumerTypeForSwapQuoteAsync( + largeForwarderSwapQuote, + contractWrappers, + provider, + { takerAddress }, + ); + expect(consumerType).to.equal(ConsumerType.Forwarder); + }); + }); +}); diff --git a/packages/asset-swapper/test/utils/swap_quote.ts b/packages/asset-swapper/test/utils/swap_quote.ts index 2172eab09b..60269d376c 100644 --- a/packages/asset-swapper/test/utils/swap_quote.ts +++ b/packages/asset-swapper/test/utils/swap_quote.ts @@ -1,13 +1,37 @@ import { orderFactory } from '@0x/order-utils/lib/src/order_factory'; import { MarketOperation, SignedOrder } from '@0x/types'; import { BigNumber } from '@0x/utils'; +import { SupportedProvider } from '@0x/web3-wrapper'; import * as _ from 'lodash'; import { SwapQuote } from '../../src/types'; +import { constants } from '../../src/constants'; const ZERO_BIG_NUMBER = new BigNumber(0); -export const getSignedOrdersWithNoFees = ( +export const getSignedOrdersWithNoFeesAsync = async ( + provider: SupportedProvider, + makerAssetData: string, + takerAssetData: string, + makerAddress: string, + takerAddress: string, + fillableAmounts: BigNumber[], +): Promise => { + const promises = _.map(fillableAmounts, async (fillableAmount: BigNumber) => + orderFactory.createSignedOrderAsync( + provider, + makerAddress, + fillableAmount, + makerAssetData, + fillableAmount, + takerAssetData, + constants.NULL_ADDRESS, + ), + ); + return Promise.all(promises); +}; + +export const getPartialSignedOrdersWithNoFees = ( makerAssetData: string, takerAssetData: string, makerAddress: string, @@ -25,7 +49,7 @@ export const getSignedOrdersWithNoFees = ( ); }; -export const getSignedOrdersWithFees = ( +export const getPartialSignedOrdersWithFees = ( makerAssetData: string, takerAssetData: string, makerAddress: string, @@ -33,7 +57,7 @@ export const getSignedOrdersWithFees = ( fillableAmounts: BigNumber[], takerFees: BigNumber[], ): SignedOrder[] => { - const orders = getSignedOrdersWithNoFees( + const orders = getPartialSignedOrdersWithNoFees( makerAssetData, takerAssetData, makerAddress, From db1e9769d099d3e962a737c0565906d36fca9149 Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 24 Jul 2019 10:16:05 -0700 Subject: [PATCH 060/162] Fixed testing bug --- .../test/exchange_swap_quote_consumer_test.ts | 175 ++++++++++++++++++ .../forwarder_swap_quote_consumer_test.ts | 68 +++---- .../asset-swapper/test/utils/swap_quote.ts | 5 +- 3 files changed, 214 insertions(+), 34 deletions(-) create mode 100644 packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts diff --git a/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts b/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts new file mode 100644 index 0000000000..51ec6af37e --- /dev/null +++ b/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts @@ -0,0 +1,175 @@ +import { ContractAddresses, ContractWrappers } from '@0x/contract-wrappers'; +import { tokenUtils } from '@0x/contract-wrappers/lib/test/utils/token_utils'; +import { BlockchainLifecycle } from '@0x/dev-utils'; +import { FillScenarios } from '@0x/fill-scenarios'; +import { assetDataUtils } from '@0x/order-utils'; +import { MarketOperation, SignedOrder } from '@0x/types'; +import { BigNumber } from '@0x/utils'; +import * as chai from 'chai'; +import 'mocha'; + +import { SwapQuote } from '../src'; +import { ExchangeSwapQuoteConsumer } from '../src/quote_consumers/exchange_swap_quote_consumer'; +import { ForwarderSwapQuoteConsumer } from '../src/quote_consumers/forwarder_swap_quote_consumer'; +import { constants } from '../src/constants'; + +import { chaiSetup } from './utils/chai_setup'; +import { migrateOnceAsync } from './utils/migrate'; +import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFeesAsync } from './utils/swap_quote'; +import { provider, web3Wrapper } from './utils/web3_wrapper'; + +chaiSetup.configure(); +const expect = chai.expect; +const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); + +const ONE_ETH_IN_WEI = new BigNumber(1000000000000000000); +const TESTRPC_NETWORK_ID = 50; +const MARKET_OPERATION = MarketOperation.Sell; +const FILLABLE_AMOUNTS = [new BigNumber(3), new BigNumber(2), new BigNumber(5)].map(value => value.multipliedBy(ONE_ETH_IN_WEI)); +const FILLABLE_FEE_AMOUNTS = [new BigNumber(1), new BigNumber(1), new BigNumber(1)].map(value => value.multipliedBy(ONE_ETH_IN_WEI)); + +describe('ExchangeSwapQuoteConsumer', () => { + let contractWrappers: ContractWrappers; + let userAddresses: string[]; + let coinbaseAddress: string; + let makerAddress: string; + let takerAddress: string; + let fillScenarios: FillScenarios; + let feeRecipient: string; + let makerTokenAddress: string; + let takerTokenAddress: string; + let makerAssetData: string; + let takerAssetData: string; + let wethAssetData: string; + let contractAddresses: ContractAddresses; + + const networkId = TESTRPC_NETWORK_ID; + before(async () => { + contractAddresses = await migrateOnceAsync(); + await blockchainLifecycle.startAsync(); + userAddresses = await web3Wrapper.getAvailableAddressesAsync(); + fillScenarios = new FillScenarios( + provider, + userAddresses, + contractAddresses.zrxToken, + contractAddresses.exchange, + contractAddresses.erc20Proxy, + contractAddresses.erc721Proxy, + ); + const config = { + networkId, + contractAddresses, + }; + contractWrappers = new ContractWrappers(provider, config); + [coinbaseAddress, takerAddress, makerAddress, feeRecipient] = userAddresses; + [makerTokenAddress, takerTokenAddress] = tokenUtils.getDummyERC20TokenAddresses(); + [makerAssetData, takerAssetData, wethAssetData] = [ + assetDataUtils.encodeERC20AssetData(makerTokenAddress), + assetDataUtils.encodeERC20AssetData(takerTokenAddress), + assetDataUtils.encodeERC20AssetData(contractAddresses.etherToken), + ]; + }); + after(async () => { + await blockchainLifecycle.revertAsync(); + }); + beforeEach(async () => { + await blockchainLifecycle.startAsync(); + }); + afterEach(async () => { + await blockchainLifecycle.revertAsync(); + }); + describe('executeSwapQuoteOrThrowAsync', () => { + + describe('valid swap quote', () => { + const orders: SignedOrder[] = []; + let marketSellSwapQuote: SwapQuote; + let marketBuySwapQuote: SwapQuote; + let swapQuoteConsumer: ExchangeSwapQuoteConsumer; + beforeEach(async () => { + + for (const fillableAmmount of FILLABLE_AMOUNTS) { + const order = await fillScenarios.createFillableSignedOrderAsync( + makerAssetData, + takerAssetData, + makerAddress, + takerAddress, + fillableAmmount, + ); + orders.push(order); + } + + marketSellSwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + wethAssetData, + orders, + MarketOperation.Sell, + ); + + marketBuySwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + wethAssetData, + orders, + MarketOperation.Buy, + ); + + swapQuoteConsumer = new ExchangeSwapQuoteConsumer(provider, { + networkId, + }); + }); + /* + * Testing that SwapQuoteConsumer logic correctly performs a execution (doesn't throw or revert) + * Does not test the validity of the state change performed by the forwarder smart contract + */ + it('should perform a marketSell execution when provided a MarketSell type swapQuote', async () => { + let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketSellSwapQuote, { takerAddress }); + makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + }); + it('should perform a marketBuy execution when provided a MarketBuy type swapQuote', async () => { + let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress }); + makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + }); + }); + }); + + describe('getSmartContractParamsOrThrow', () => { + + describe('valid swap quote', async () => { + it('provide correct and optimized smart contract params with default options for a marketSell SwapQuote', async () => { + }); + it('provide correct and optimized smart contract params with default options for a marketBuy SwapQuote', async () => { + }); + }); + }); + + describe('getCalldataOrThrow', () => { + describe('validation', () => { + it('should throw if swap quote provided is not a valid forwarder SwapQuote (taker asset is WETH)', async () => { + }); + }); + + describe('valid swap quote', async () => { + it('provide correct and optimized calldata options with default options for a marketSell SwapQuote (no affiliate fees)', async () => { + }); + it('provide correct and optimized calldata options with default options for a marketBuy SwapQuote (no affiliate fees)', async () => { + }); + it('provide correct and optimized calldata options with affiliate fees for a marketSell SwapQuote', async () => { + }); + it('provide correct and optimized calldata options with affiliate fees for a marketBuy SwapQuote', async () => { + }); + }); + }); +}); diff --git a/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts b/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts index 4d48e4eaae..f55983619d 100644 --- a/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts +++ b/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts @@ -1,3 +1,4 @@ +import { ContractAddresses, ContractWrappers } from '@0x/contract-wrappers'; import { tokenUtils } from '@0x/contract-wrappers/lib/test/utils/token_utils'; import { BlockchainLifecycle } from '@0x/dev-utils'; import { FillScenarios } from '@0x/fill-scenarios'; @@ -7,14 +8,13 @@ import { BigNumber } from '@0x/utils'; import * as chai from 'chai'; import 'mocha'; +import { SwapQuote } from '../src'; import { ForwarderSwapQuoteConsumer } from '../src/quote_consumers/forwarder_swap_quote_consumer'; import { chaiSetup } from './utils/chai_setup'; import { migrateOnceAsync } from './utils/migrate'; import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFeesAsync } from './utils/swap_quote'; import { provider, web3Wrapper } from './utils/web3_wrapper'; -import { SwapQuote } from '../src'; -import { ContractWrappers, ContractAddresses } from '@0x/contract-wrappers'; chaiSetup.configure(); const expect = chai.expect; @@ -126,6 +126,7 @@ describe('ForwarderSwapQuoteConsumer', () => { makerAddress, takerAddress, FILLABLE_AMOUNTS, + contractAddresses.exchange, ); marketSellSwapQuote = getFullyFillableSwapQuoteWithNoFees( @@ -151,38 +152,41 @@ describe('ForwarderSwapQuoteConsumer', () => { * Does not test the validity of the state change performed by the forwarder smart contract */ it('should perform a marketSell execution when provided a MarketSell type swapQuote', async () => { - const makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); - const takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - console.log(makerBalance, takerBalance); - const preEthBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); - const preEthBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); - console.log('maker eth balance', preEthBalanceMaker, 'taker eth balance', preEthBalanceTaker); - expect( - swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketSellSwapQuote, { takerAddress }), - ).to.not.be.rejected(); - const ethBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); - const ethBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); - console.log('maker eth balance', ethBalanceMaker, 'taker eth balance', ethBalanceTaker); - const postMakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); - const postTakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - console.log(postMakerBalance, postTakerBalance); + // const makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + // const takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + // console.log(makerBalance, takerBalance); + // const preEthBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); + // const preEthBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); + // console.log('maker eth balance', preEthBalanceMaker, 'taker eth balance', preEthBalanceTaker); + // const txHash = await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketSellSwapQuote, { takerAddress }); + // console.log(txHash); + // // expect( + // // swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketSellSwapQuote, { takerAddress }), + // // ).to.not.be.rejected(); + // const ethBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); + // const ethBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); + // console.log('maker eth balance', ethBalanceMaker, 'taker eth balance', ethBalanceTaker); + // const postMakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + // const postTakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + // console.log(postMakerBalance, postTakerBalance); }); it('should perform a marketBuy execution when provided a MarketBuy type swapQuote', async () => { - const makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); - const takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - console.log(makerBalance, takerBalance); - const preEthBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); - const preEthBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); - console.log('maker eth balance', preEthBalanceMaker, 'taker eth balance', preEthBalanceTaker); - expect( - swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress }), - ).to.not.be.rejected(); - const ethBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); - const ethBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); - console.log('maker eth balance', ethBalanceMaker, 'taker eth balance', ethBalanceTaker); - const postMakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); - const postTakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - console.log(postMakerBalance, postTakerBalance); + // const makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + // const takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + // console.log(makerBalance, takerBalance); + // const preEthBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); + // const preEthBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); + // console.log('maker eth balance', preEthBalanceMaker, 'taker eth balance', preEthBalanceTaker); + // await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress }); + // // expect( + // // swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress }), + // // ).to.not.be.rejected(); + // const ethBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); + // const ethBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); + // console.log('maker eth balance', ethBalanceMaker, 'taker eth balance', ethBalanceTaker); + // const postMakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + // const postTakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + // console.log(postMakerBalance, postTakerBalance); }); it('should perform a marketSell execution with affiliate fees', () => {}); diff --git a/packages/asset-swapper/test/utils/swap_quote.ts b/packages/asset-swapper/test/utils/swap_quote.ts index 60269d376c..a436e7a412 100644 --- a/packages/asset-swapper/test/utils/swap_quote.ts +++ b/packages/asset-swapper/test/utils/swap_quote.ts @@ -4,8 +4,8 @@ import { BigNumber } from '@0x/utils'; import { SupportedProvider } from '@0x/web3-wrapper'; import * as _ from 'lodash'; -import { SwapQuote } from '../../src/types'; import { constants } from '../../src/constants'; +import { SwapQuote } from '../../src/types'; const ZERO_BIG_NUMBER = new BigNumber(0); @@ -16,6 +16,7 @@ export const getSignedOrdersWithNoFeesAsync = async ( makerAddress: string, takerAddress: string, fillableAmounts: BigNumber[], + exchangeAddress?: string, ): Promise => { const promises = _.map(fillableAmounts, async (fillableAmount: BigNumber) => orderFactory.createSignedOrderAsync( @@ -25,7 +26,7 @@ export const getSignedOrdersWithNoFeesAsync = async ( makerAssetData, fillableAmount, takerAssetData, - constants.NULL_ADDRESS, + exchangeAddress || constants.NULL_ADDRESS, ), ); return Promise.all(promises); From c8d0ff846cdbfac94aacee217c8042f8fc5d7ff7 Mon Sep 17 00:00:00 2001 From: David Sun Date: Thu, 25 Jul 2019 14:07:32 -0700 Subject: [PATCH 061/162] Finished up adding test coverage --- .../exchange_swap_quote_consumer.ts | 2 +- .../forwarder_swap_quote_consumer.ts | 3 +- packages/asset-swapper/src/utils/assert.ts | 4 +- .../src/utils/swap_quote_consumer_utils.ts | 2 +- .../test/exchange_swap_quote_consumer_test.ts | 137 +++++--- .../forwarder_swap_quote_consumer_test.ts | 295 ++++++++++++------ .../test/swap_quote_consumer_utils_test.ts | 9 +- 7 files changed, 304 insertions(+), 148 deletions(-) diff --git a/packages/asset-swapper/src/quote_consumers/exchange_swap_quote_consumer.ts b/packages/asset-swapper/src/quote_consumers/exchange_swap_quote_consumer.ts index edbcffe0d9..0b4cb189ed 100644 --- a/packages/asset-swapper/src/quote_consumers/exchange_swap_quote_consumer.ts +++ b/packages/asset-swapper/src/quote_consumers/exchange_swap_quote_consumer.ts @@ -58,7 +58,7 @@ export class ExchangeSwapQuoteConsumer implements SwapQuoteConsumerBase { assert.assert( order.takerAssetData === takerAssetData, - `Expected ${variableName}[${index}].takerAssetData to be ${takerAssetData}`, + `Expected ${variableName}[${index}].takerAssetData to be ${takerAssetData} but found ${order.takerAssetData}`, ); assert.assert( order.makerAssetData === makerAssetData, - `Expected ${variableName}[${index}].makerAssetData to be ${makerAssetData}`, + `Expected ${variableName}[${index}].makerAssetData to be ${makerAssetData} but found ${order.makerAssetData}`, ); }); }, diff --git a/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts b/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts index 443b49b290..861eb5c419 100644 --- a/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts +++ b/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts @@ -84,7 +84,7 @@ export const swapQuoteConsumerUtils = { return optimizedOrder; }); }, - async getConsumerForSwapQuoteAsync( + async getConsumerTypeForSwapQuoteAsync( quote: SwapQuote, contractWrappers: ContractWrappers, provider: Provider, diff --git a/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts b/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts index 51ec6af37e..269d041d45 100644 --- a/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts +++ b/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts @@ -8,10 +8,11 @@ import { BigNumber } from '@0x/utils'; import * as chai from 'chai'; import 'mocha'; -import { SwapQuote } from '../src'; +import { SwapQuote, SwapQuoteConsumer } from '../src'; +import { constants } from '../src/constants'; import { ExchangeSwapQuoteConsumer } from '../src/quote_consumers/exchange_swap_quote_consumer'; import { ForwarderSwapQuoteConsumer } from '../src/quote_consumers/forwarder_swap_quote_consumer'; -import { constants } from '../src/constants'; +import { ExchangeMarketBuySmartContractParams, ExchangeMarketSellSmartContractParams, MarketBuySwapQuote, MarketSellSwapQuote } from '../src/types'; import { chaiSetup } from './utils/chai_setup'; import { migrateOnceAsync } from './utils/migrate'; @@ -44,6 +45,12 @@ describe('ExchangeSwapQuoteConsumer', () => { let contractAddresses: ContractAddresses; const networkId = TESTRPC_NETWORK_ID; + + let orders: SignedOrder[]; + let marketSellSwapQuote: SwapQuote; + let marketBuySwapQuote: SwapQuote; + let swapQuoteConsumer: ExchangeSwapQuoteConsumer; + before(async () => { contractAddresses = await migrateOnceAsync(); await blockchainLifecycle.startAsync(); @@ -74,48 +81,41 @@ describe('ExchangeSwapQuoteConsumer', () => { }); beforeEach(async () => { await blockchainLifecycle.startAsync(); + orders = []; + for (const fillableAmmount of FILLABLE_AMOUNTS) { + const order = await fillScenarios.createFillableSignedOrderAsync( + makerAssetData, + takerAssetData, + makerAddress, + takerAddress, + fillableAmmount, + ); + orders.push(order); + } + + marketSellSwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + takerAssetData, + orders, + MarketOperation.Sell, + ); + + marketBuySwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + takerAssetData, + orders, + MarketOperation.Buy, + ); + + swapQuoteConsumer = new ExchangeSwapQuoteConsumer(provider, { + networkId, + }); }); afterEach(async () => { await blockchainLifecycle.revertAsync(); }); describe('executeSwapQuoteOrThrowAsync', () => { - describe('valid swap quote', () => { - const orders: SignedOrder[] = []; - let marketSellSwapQuote: SwapQuote; - let marketBuySwapQuote: SwapQuote; - let swapQuoteConsumer: ExchangeSwapQuoteConsumer; - beforeEach(async () => { - - for (const fillableAmmount of FILLABLE_AMOUNTS) { - const order = await fillScenarios.createFillableSignedOrderAsync( - makerAssetData, - takerAssetData, - makerAddress, - takerAddress, - fillableAmmount, - ); - orders.push(order); - } - - marketSellSwapQuote = getFullyFillableSwapQuoteWithNoFees( - makerAssetData, - wethAssetData, - orders, - MarketOperation.Sell, - ); - - marketBuySwapQuote = getFullyFillableSwapQuoteWithNoFees( - makerAssetData, - wethAssetData, - orders, - MarketOperation.Buy, - ); - - swapQuoteConsumer = new ExchangeSwapQuoteConsumer(provider, { - networkId, - }); - }); /* * Testing that SwapQuoteConsumer logic correctly performs a execution (doesn't throw or revert) * Does not test the validity of the state change performed by the forwarder smart contract @@ -143,32 +143,69 @@ describe('ExchangeSwapQuoteConsumer', () => { expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); }); }); - }); describe('getSmartContractParamsOrThrow', () => { describe('valid swap quote', async () => { - it('provide correct and optimized smart contract params with default options for a marketSell SwapQuote', async () => { + // TODO(david) Check for valid MethodAbi + it('provide correct and optimized smart contract params for a marketSell SwapQuote', async () => { + const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketSellSwapQuote, {}); + expect(to).to.deep.equal(contractWrappers.exchange.address); + const { takerAssetFillAmount, signatures, type } = params as ExchangeMarketSellSmartContractParams; + expect(type).to.deep.equal(MarketOperation.Sell); + expect(takerAssetFillAmount).to.bignumber.equal((marketSellSwapQuote as MarketSellSwapQuote).takerAssetFillAmount); + const orderSignatures = marketSellSwapQuote.orders.map(order => order.signature); + expect(signatures).to.deep.equal(orderSignatures); }); - it('provide correct and optimized smart contract params with default options for a marketBuy SwapQuote', async () => { + it('provide correct and optimized smart contract params for a marketBuy SwapQuote', async () => { + const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketBuySwapQuote, {}); + expect(to).to.deep.equal(contractWrappers.exchange.address); + const { makerAssetFillAmount, signatures, type } = params as ExchangeMarketBuySmartContractParams; + expect(type).to.deep.equal(MarketOperation.Buy); + expect(makerAssetFillAmount).to.bignumber.equal((marketBuySwapQuote as MarketBuySwapQuote).makerAssetFillAmount); + const orderSignatures = marketSellSwapQuote.orders.map(order => order.signature); + expect(signatures).to.deep.equal(orderSignatures); }); }); }); describe('getCalldataOrThrow', () => { - describe('validation', () => { - it('should throw if swap quote provided is not a valid forwarder SwapQuote (taker asset is WETH)', async () => { - }); - }); - describe('valid swap quote', async () => { it('provide correct and optimized calldata options with default options for a marketSell SwapQuote (no affiliate fees)', async () => { + let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync(marketSellSwapQuote, {}); + expect(to).to.deep.equal(contractWrappers.exchange.address); + await web3Wrapper.sendTransactionAsync({ + from: takerAddress, + to, + data: calldataHexString, + gas: 4000000, + }); + makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); }); it('provide correct and optimized calldata options with default options for a marketBuy SwapQuote (no affiliate fees)', async () => { - }); - it('provide correct and optimized calldata options with affiliate fees for a marketSell SwapQuote', async () => { - }); - it('provide correct and optimized calldata options with affiliate fees for a marketBuy SwapQuote', async () => { + let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync(marketBuySwapQuote, {}); + expect(to).to.deep.equal(contractWrappers.exchange.address); + await web3Wrapper.sendTransactionAsync({ + from: takerAddress, + to, + data: calldataHexString, + gas: 4000000, + }); + makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); }); }); }); diff --git a/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts b/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts index f55983619d..1b5b6d9137 100644 --- a/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts +++ b/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts @@ -4,7 +4,7 @@ import { BlockchainLifecycle } from '@0x/dev-utils'; import { FillScenarios } from '@0x/fill-scenarios'; import { assetDataUtils } from '@0x/order-utils'; import { MarketOperation, SignedOrder } from '@0x/types'; -import { BigNumber } from '@0x/utils'; +import { BigNumber, AbiDecoder } from '@0x/utils'; import * as chai from 'chai'; import 'mocha'; @@ -15,6 +15,8 @@ import { chaiSetup } from './utils/chai_setup'; import { migrateOnceAsync } from './utils/migrate'; import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFeesAsync } from './utils/swap_quote'; import { provider, web3Wrapper } from './utils/web3_wrapper'; +import { constants } from '../src/constants'; +import { ForwarderMarketSellSmartContractParams, MarketSellSwapQuote, ForwarderMarketBuySmartContractParams, MarketBuySwapQuote } from '../src/types'; chaiSetup.configure(); const expect = chai.expect; @@ -41,6 +43,12 @@ describe('ForwarderSwapQuoteConsumer', () => { let wethAssetData: string; let contractAddresses: ContractAddresses; + let orders: SignedOrder[]; + let marketSellSwapQuote: SwapQuote; + let marketBuySwapQuote: SwapQuote; + let swapQuoteConsumer: ForwarderSwapQuoteConsumer; + let erc20ProxyAddress: string; + const networkId = TESTRPC_NETWORK_ID; before(async () => { contractAddresses = await migrateOnceAsync(); @@ -72,6 +80,41 @@ describe('ForwarderSwapQuoteConsumer', () => { }); beforeEach(async () => { await blockchainLifecycle.startAsync(); + const UNLIMITED_ALLOWANCE = contractWrappers.erc20Token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS; + erc20ProxyAddress = contractWrappers.erc20Proxy.address; + + const totalFillableAmount = FILLABLE_AMOUNTS.reduce((a: BigNumber, c: BigNumber) => a.plus(c), new BigNumber(0)); + + await contractWrappers.erc20Token.transferAsync(makerTokenAddress, coinbaseAddress, makerAddress, totalFillableAmount); + + await contractWrappers.erc20Token.setAllowanceAsync(makerTokenAddress, makerAddress, erc20ProxyAddress, UNLIMITED_ALLOWANCE); + orders = await getSignedOrdersWithNoFeesAsync( + provider, + makerAssetData, + wethAssetData, + makerAddress, + takerAddress, + FILLABLE_AMOUNTS, + contractAddresses.exchange, + ); + + marketSellSwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + wethAssetData, + orders, + MarketOperation.Sell, + ); + + marketBuySwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + wethAssetData, + orders, + MarketOperation.Buy, + ); + + swapQuoteConsumer = new ForwarderSwapQuoteConsumer(provider, { + networkId, + }); }); afterEach(async () => { await blockchainLifecycle.revertAsync(); @@ -94,105 +137,74 @@ describe('ForwarderSwapQuoteConsumer', () => { invalidSignedOrders, MARKET_OPERATION, ); - const swapQuoteConsumer = new ForwarderSwapQuoteConsumer(provider, { - networkId, - }); expect( swapQuoteConsumer.executeSwapQuoteOrThrowAsync(invalidSwapQuote, { takerAddress }), ).to.be.rejectedWith(`Expected quote.orders[0] to have takerAssetData set as ${wethAssetData}, but is ${takerAssetData}`); }); }); + // TODO(david) test execution of swap quotes with fee orders describe('valid swap quote', () => { - let orders: SignedOrder[]; - let marketSellSwapQuote: SwapQuote; - let marketBuySwapQuote: SwapQuote; - let swapQuoteConsumer: ForwarderSwapQuoteConsumer; - let erc20ProxyAddress: string; - beforeEach(async () => { - - const UNLIMITED_ALLOWANCE = contractWrappers.erc20Token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS; - erc20ProxyAddress = contractWrappers.erc20Proxy.address; - - const totalFillableAmount = FILLABLE_AMOUNTS.reduce((a: BigNumber, c: BigNumber) => a.plus(c), new BigNumber(0)); - - await contractWrappers.erc20Token.transferAsync(makerTokenAddress, coinbaseAddress, makerAddress, totalFillableAmount); - - await contractWrappers.erc20Token.setAllowanceAsync(makerTokenAddress, makerAddress, erc20ProxyAddress, UNLIMITED_ALLOWANCE); - orders = await getSignedOrdersWithNoFeesAsync( - provider, - makerAssetData, - wethAssetData, - makerAddress, - takerAddress, - FILLABLE_AMOUNTS, - contractAddresses.exchange, - ); - - marketSellSwapQuote = getFullyFillableSwapQuoteWithNoFees( - makerAssetData, - wethAssetData, - orders, - MarketOperation.Sell, - ); - - marketBuySwapQuote = getFullyFillableSwapQuoteWithNoFees( - makerAssetData, - wethAssetData, - orders, - MarketOperation.Buy, - ); - - swapQuoteConsumer = new ForwarderSwapQuoteConsumer(provider, { - networkId, - }); - }); /* * Testing that SwapQuoteConsumer logic correctly performs a execution (doesn't throw or revert) * Does not test the validity of the state change performed by the forwarder smart contract */ it('should perform a marketSell execution when provided a MarketSell type swapQuote', async () => { - // const makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); - // const takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - // console.log(makerBalance, takerBalance); - // const preEthBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); - // const preEthBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); - // console.log('maker eth balance', preEthBalanceMaker, 'taker eth balance', preEthBalanceTaker); - // const txHash = await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketSellSwapQuote, { takerAddress }); - // console.log(txHash); - // // expect( - // // swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketSellSwapQuote, { takerAddress }), - // // ).to.not.be.rejected(); - // const ethBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); - // const ethBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); - // console.log('maker eth balance', ethBalanceMaker, 'taker eth balance', ethBalanceTaker); - // const postMakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); - // const postTakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - // console.log(postMakerBalance, postTakerBalance); + let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketSellSwapQuote, { takerAddress }); + makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(makerBalance).to.bignumber.equal((new BigNumber(0.5)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal((new BigNumber(9.5)).multipliedBy(ONE_ETH_IN_WEI)); }); + it('should perform a marketBuy execution when provided a MarketBuy type swapQuote', async () => { - // const makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); - // const takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - // console.log(makerBalance, takerBalance); - // const preEthBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); - // const preEthBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); - // console.log('maker eth balance', preEthBalanceMaker, 'taker eth balance', preEthBalanceTaker); - // await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress }); - // // expect( - // // swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress }), - // // ).to.not.be.rejected(); - // const ethBalanceMaker = await web3Wrapper.getBalanceInWeiAsync(makerAddress); - // const ethBalanceTaker = await web3Wrapper.getBalanceInWeiAsync(takerAddress); - // console.log('maker eth balance', ethBalanceMaker, 'taker eth balance', ethBalanceTaker); - // const postMakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); - // const postTakerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - // console.log(postMakerBalance, postTakerBalance); + let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress }); + makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); }); - it('should perform a marketSell execution with affiliate fees', () => {}); - it('should perform a marketSell execution with provided ethAmount in options', () => {}); - it('should throw on a marketSell execution with provided ethAmount that is lower than bestCaseQuoteInfo.totalTakerAssetAmount in options', () => {}); - it('should perform a marketSell execution with provided takerAddress in options', () => {}); + it('should perform a marketBuy execution with affiliate fees', async () => { + let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + const feeRecipientEthBalanceBefore = await web3Wrapper.getBalanceInWeiAsync(feeRecipient); + expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress, feePercentage: 0.05, feeRecipient }); + makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + const feeRecipientEthBalanceAfter = await web3Wrapper.getBalanceInWeiAsync(feeRecipient); + expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(feeRecipientEthBalanceAfter.minus(feeRecipientEthBalanceBefore)).to.bignumber.equal((new BigNumber(0.5)).multipliedBy(ONE_ETH_IN_WEI)); + }); + + // TODO(david) Finish marketSell affiliate fee excution testing + // it('should perform a marketSell execution with affiliate fees', async () => { + // let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + // let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + // const feeRecipientEthBalanceBefore = await web3Wrapper.getBalanceInWeiAsync(feeRecipient); + // expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + // expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + // console.log(makerBalance, takerBalance, feeRecipientEthBalanceBefore); + // await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketSellSwapQuote, { takerAddress, feePercentage: 0.05, feeRecipient }); + // makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + // takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + // const feeRecipientEthBalanceAfter = await web3Wrapper.getBalanceInWeiAsync(feeRecipient); + // console.log(makerBalance, takerBalance, feeRecipientEthBalanceAfter); + // expect(makerBalance).to.bignumber.equal((new BigNumber(0.5)).multipliedBy(ONE_ETH_IN_WEI)); + // expect(takerBalance).to.bignumber.equal((new BigNumber(9.5)).multipliedBy(ONE_ETH_IN_WEI)); + // expect(feeRecipientEthBalanceAfter.minus(feeRecipientEthBalanceBefore)).to.bignumber.equal((new BigNumber(0.5)).multipliedBy(ONE_ETH_IN_WEI)); + // }); }); }); @@ -200,17 +212,72 @@ describe('ForwarderSwapQuoteConsumer', () => { describe('validation', () => { it('should throw if swap quote provided is not a valid forwarder SwapQuote (taker asset is WETH)', async () => { + const invalidSignedOrders = await getSignedOrdersWithNoFeesAsync( + provider, + makerAssetData, + takerAssetData, + makerAddress, + takerAddress, + FILLABLE_AMOUNTS, + ); + const invalidSwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + takerAssetData, + invalidSignedOrders, + MARKET_OPERATION, + ); + expect( + swapQuoteConsumer.getSmartContractParamsOrThrowAsync(invalidSwapQuote, { }), + ).to.be.rejectedWith(`Expected quote.orders[0] to have takerAssetData set as ${wethAssetData}, but is ${takerAssetData}`); }); }); describe('valid swap quote', async () => { it('provide correct and optimized smart contract params with default options for a marketSell SwapQuote (no affiliate fees)', async () => { + const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketSellSwapQuote, {}); + expect(to).to.deep.equal(contractWrappers.forwarder.address); + const { feeSignatures, feePercentage, feeRecipient: feeRecipientFromParams, signatures, type } = params as ForwarderMarketSellSmartContractParams; + expect(type).to.deep.equal(MarketOperation.Sell); + expect(feeRecipientFromParams).to.deep.equal(constants.NULL_ADDRESS); + const orderSignatures = marketSellSwapQuote.orders.map(order => order.signature); + expect(signatures).to.deep.equal(orderSignatures); + expect(feePercentage).to.bignumber.equal(0); + expect(feeSignatures).to.deep.equal([]); }); it('provide correct and optimized smart contract params with default options for a marketBuy SwapQuote (no affiliate fees)', async () => { + const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketBuySwapQuote, {}); + expect(to).to.deep.equal(contractWrappers.forwarder.address); + const { makerAssetFillAmount, feeSignatures, feePercentage, feeRecipient: feeRecipientFromParams, signatures, type } = params as ForwarderMarketBuySmartContractParams; + expect(type).to.deep.equal(MarketOperation.Buy); + expect(feeRecipientFromParams).to.deep.equal(constants.NULL_ADDRESS); + expect(makerAssetFillAmount).to.bignumber.equal((marketBuySwapQuote as MarketBuySwapQuote).makerAssetFillAmount); + const orderSignatures = marketBuySwapQuote.orders.map(order => order.signature); + expect(signatures).to.deep.equal(orderSignatures); + expect(feePercentage).to.bignumber.equal(0); + expect(feeSignatures).to.deep.equal([]); }); it('provide correct and optimized smart contract params with affiliate fees for a marketSell SwapQuote', async () => { + const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketSellSwapQuote, { feePercentage: 0.05, feeRecipient }); + expect(to).to.deep.equal(contractWrappers.forwarder.address); + const { feeSignatures, feePercentage, feeRecipient: feeRecipientFromParams, signatures, type } = params as ForwarderMarketSellSmartContractParams; + expect(type).to.deep.equal(MarketOperation.Sell); + expect(feeRecipientFromParams).to.deep.equal(feeRecipient); + const orderSignatures = marketSellSwapQuote.orders.map(order => order.signature); + expect(signatures).to.deep.equal(orderSignatures); + expect(feePercentage).to.bignumber.equal((new BigNumber(0.05)).multipliedBy(ONE_ETH_IN_WEI)); + expect(feeSignatures).to.deep.equal([]); }); it('provide correct and optimized smart contract params with affiliate fees for a marketBuy SwapQuote', async () => { + const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketBuySwapQuote, { feePercentage: 0.05, feeRecipient }); + expect(to).to.deep.equal(contractWrappers.forwarder.address); + const { makerAssetFillAmount, feeSignatures, feePercentage, feeRecipient: feeRecipientFromParams, signatures, type } = params as ForwarderMarketBuySmartContractParams; + expect(type).to.deep.equal(MarketOperation.Buy); + expect(feeRecipientFromParams).to.deep.equal(feeRecipient); + expect(makerAssetFillAmount).to.bignumber.equal((marketBuySwapQuote as MarketBuySwapQuote).makerAssetFillAmount); + const orderSignatures = marketBuySwapQuote.orders.map(order => order.signature); + expect(signatures).to.deep.equal(orderSignatures); + expect(feePercentage).to.bignumber.equal((new BigNumber(0.05)).multipliedBy(ONE_ETH_IN_WEI)); + expect(feeSignatures).to.deep.equal([]); }); }); }); @@ -218,18 +285,70 @@ describe('ForwarderSwapQuoteConsumer', () => { describe('getCalldataOrThrow', () => { describe('validation', () => { it('should throw if swap quote provided is not a valid forwarder SwapQuote (taker asset is WETH)', async () => { + const invalidSignedOrders = await getSignedOrdersWithNoFeesAsync( + provider, + makerAssetData, + takerAssetData, + makerAddress, + takerAddress, + FILLABLE_AMOUNTS, + ); + const invalidSwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + takerAssetData, + invalidSignedOrders, + MARKET_OPERATION, + ); + expect( + swapQuoteConsumer.getCalldataOrThrowAsync(invalidSwapQuote, { }), + ).to.be.rejectedWith(`Expected quote.orders[0] to have takerAssetData set as ${wethAssetData}, but is ${takerAssetData}`); }); }); describe('valid swap quote', async () => { it('provide correct and optimized calldata options with default options for a marketSell SwapQuote (no affiliate fees)', async () => { + let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync(marketSellSwapQuote, {}); + expect(to).to.deep.equal(contractWrappers.forwarder.address); + await web3Wrapper.sendTransactionAsync({ + from: takerAddress, + to, + data: calldataHexString, + value: marketSellSwapQuote.worstCaseQuoteInfo.totalTakerTokenAmount, + gas: 4000000, + }); + makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(makerBalance).to.bignumber.equal((new BigNumber(0.5).multipliedBy(ONE_ETH_IN_WEI))); + expect(takerBalance).to.bignumber.equal((new BigNumber(9.5)).multipliedBy(ONE_ETH_IN_WEI)); }); it('provide correct and optimized calldata options with default options for a marketBuy SwapQuote (no affiliate fees)', async () => { + let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync(marketBuySwapQuote, {}); + expect(to).to.deep.equal(contractAddresses.forwarder); + await web3Wrapper.sendTransactionAsync({ + from: takerAddress, + to, + data: calldataHexString, + value: marketBuySwapQuote.worstCaseQuoteInfo.totalTakerTokenAmount, + gas: 4000000, + }); + makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); }); - it('provide correct and optimized calldata options with affiliate fees for a marketSell SwapQuote', async () => { - }); - it('provide correct and optimized calldata options with affiliate fees for a marketBuy SwapQuote', async () => { - }); + // TODO(david) finish testing for affiliate fees calldata output + // it('provide correct and optimized calldata options with affiliate fees for a marketSell SwapQuote', async () => { + // }); + // it('provide correct and optimized calldata options with affiliate fees for a marketBuy SwapQuote', async () => { + // }); }); }); }); diff --git a/packages/asset-swapper/test/swap_quote_consumer_utils_test.ts b/packages/asset-swapper/test/swap_quote_consumer_utils_test.ts index f86e99de87..0ddfeb7f74 100644 --- a/packages/asset-swapper/test/swap_quote_consumer_utils_test.ts +++ b/packages/asset-swapper/test/swap_quote_consumer_utils_test.ts @@ -1,3 +1,4 @@ +import { ContractAddresses, ContractWrappers } from '@0x/contract-wrappers'; import { tokenUtils } from '@0x/contract-wrappers/lib/test/utils/token_utils'; import { BlockchainLifecycle } from '@0x/dev-utils'; import { FillScenarios } from '@0x/fill-scenarios'; @@ -7,14 +8,14 @@ import { BigNumber } from '@0x/utils'; import * as chai from 'chai'; import 'mocha'; +import { SwapQuote, SwapQuoteConsumer } from '../src'; +import { ConsumerType } from '../src/types'; +import { swapQuoteConsumerUtils } from '../src/utils/swap_quote_consumer_utils'; + import { chaiSetup } from './utils/chai_setup'; import { migrateOnceAsync } from './utils/migrate'; import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFeesAsync } from './utils/swap_quote'; import { provider, web3Wrapper } from './utils/web3_wrapper'; -import { SwapQuote, SwapQuoteConsumer } from '../src'; -import { ContractWrappers, ContractAddresses } from '@0x/contract-wrappers'; -import { swapQuoteConsumerUtils } from '../src/utils/swap_quote_consumer_utils'; -import { ConsumerType } from '../src/types'; chaiSetup.configure(); const expect = chai.expect; From e9babc5a94034375240adafa580523e5f1c2611c Mon Sep 17 00:00:00 2001 From: David Sun Date: Thu, 25 Jul 2019 14:11:48 -0700 Subject: [PATCH 062/162] prettier + lint --- .../quote_consumers/swap_quote_consumer.ts | 14 +- packages/asset-swapper/src/utils/assert.ts | 8 +- .../src/utils/swap_quote_calculator.ts | 4 +- .../src/utils/swap_quote_consumer_utils.ts | 4 - .../test/affiliate_fee_utils_test.ts | 48 ++-- .../test/exchange_swap_quote_consumer_test.ts | 108 +++++---- .../forwarder_swap_quote_consumer_test.ts | 210 ++++++++++++------ .../test/swap_quote_calculator_test.ts | 32 +-- .../test/swap_quote_consumer_utils_test.ts | 24 +- .../asset-swapper/test/utils/swap_quote.ts | 15 +- 10 files changed, 270 insertions(+), 197 deletions(-) diff --git a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts b/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts index de69726c59..ced0a32a20 100644 --- a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts +++ b/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts @@ -75,12 +75,14 @@ export class SwapQuoteConsumer implements SwapQuoteConsumerBase, ): Promise> { - const useConsumerType = opts.useConsumerType || await swapQuoteConsumerUtils.getConsumerTypeForSwapQuoteAsync( - quote, - this._contractWrappers, - this.provider, - opts, - ); + const useConsumerType = + opts.useConsumerType || + (await swapQuoteConsumerUtils.getConsumerTypeForSwapQuoteAsync( + quote, + this._contractWrappers, + this.provider, + opts, + )); if (useConsumerType === ConsumerType.Exchange) { return this._exchangeConsumer; } else if (useConsumerType === ConsumerType.Forwarder) { diff --git a/packages/asset-swapper/src/utils/assert.ts b/packages/asset-swapper/src/utils/assert.ts index 75e13601e2..758ea253e6 100644 --- a/packages/asset-swapper/src/utils/assert.ts +++ b/packages/asset-swapper/src/utils/assert.ts @@ -35,11 +35,15 @@ export const assert = { _.every(orders, (order: SignedOrder, index: number) => { assert.assert( order.takerAssetData === takerAssetData, - `Expected ${variableName}[${index}].takerAssetData to be ${takerAssetData} but found ${order.takerAssetData}`, + `Expected ${variableName}[${index}].takerAssetData to be ${takerAssetData} but found ${ + order.takerAssetData + }`, ); assert.assert( order.makerAssetData === makerAssetData, - `Expected ${variableName}[${index}].makerAssetData to be ${makerAssetData} but found ${order.makerAssetData}`, + `Expected ${variableName}[${index}].makerAssetData to be ${makerAssetData} but found ${ + order.makerAssetData + }`, ); }); }, diff --git a/packages/asset-swapper/src/utils/swap_quote_calculator.ts b/packages/asset-swapper/src/utils/swap_quote_calculator.ts index dbfcb7174d..9ae521f355 100644 --- a/packages/asset-swapper/src/utils/swap_quote_calculator.ts +++ b/packages/asset-swapper/src/utils/swap_quote_calculator.ts @@ -246,7 +246,9 @@ function calculateQuoteInfo( } const zrxAmountToBuyAsset = tokenAndZrxAmountToBuyAsset[1]; // find eth amount needed to buy zrx - zrxTakerTokenAmount = shouldDisableFeeOrderCalculations ? constants.ZERO_AMOUNT : findTakerTokenAmountNeededToBuyZrx(feeOrdersAndFillableAmounts, zrxAmountToBuyAsset); + zrxTakerTokenAmount = shouldDisableFeeOrderCalculations + ? constants.ZERO_AMOUNT + : findTakerTokenAmountNeededToBuyZrx(feeOrdersAndFillableAmounts, zrxAmountToBuyAsset); } const feeTakerTokenAmount = zrxTakerTokenAmount; diff --git a/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts b/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts index 861eb5c419..543a992d51 100644 --- a/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts +++ b/packages/asset-swapper/src/utils/swap_quote_consumer_utils.ts @@ -6,13 +6,9 @@ import { Provider } from 'ethereum-types'; import * as _ from 'lodash'; import { constants } from '../constants'; -import { ExchangeSwapQuoteConsumer } from '../quote_consumers/exchange_swap_quote_consumer'; -import { ForwarderSwapQuoteConsumer } from '../quote_consumers/forwarder_swap_quote_consumer'; import { ConsumerType, - SmartContractParams, SwapQuote, - SwapQuoteConsumerBase, SwapQuoteConsumerError, SwapQuoteExecutionOpts, SwapQuoteGetOutputOpts, diff --git a/packages/asset-swapper/test/affiliate_fee_utils_test.ts b/packages/asset-swapper/test/affiliate_fee_utils_test.ts index bc933b3671..a321eb95a6 100644 --- a/packages/asset-swapper/test/affiliate_fee_utils_test.ts +++ b/packages/asset-swapper/test/affiliate_fee_utils_test.ts @@ -7,7 +7,12 @@ import { constants } from '../src/constants'; import { affiliateFeeUtils } from '../src/utils/affiliate_fee_utils'; import { chaiSetup } from './utils/chai_setup'; -import { getFullyFillableSwapQuoteWithFees, getFullyFillableSwapQuoteWithNoFees, getPartialSignedOrdersWithFees, getPartialSignedOrdersWithNoFees } from './utils/swap_quote'; +import { + getFullyFillableSwapQuoteWithFees, + getFullyFillableSwapQuoteWithNoFees, + getPartialSignedOrdersWithFees, + getPartialSignedOrdersWithNoFees, +} from './utils/swap_quote'; chaiSetup.configure(); const expect = chai.expect; @@ -61,24 +66,27 @@ describe('affiliateFeeUtils', () => { ); describe('getSwapQuoteWithAffiliateFee', () => { - it('should return unchanged swapQuote if feePercentage is 0', () => { - const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee(fakeSwapQuote, 0); - const fakeSwapQuoteWithAffiliateFees = { ...fakeSwapQuote, ...{ feePercentage: 0 }}; - expect(updatedSwapQuote).to.deep.equal(fakeSwapQuoteWithAffiliateFees); - }); - it('should return correct feeTakerToken and totalTakerToken amounts when provided SwapQuote with no fees', () => { - const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee(fakeSwapQuote, FEE_PERCENTAGE); - expect(updatedSwapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.deep.equal(new BigNumber(1)); - expect(updatedSwapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(11)); - expect(updatedSwapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.deep.equal(new BigNumber(1)); - expect(updatedSwapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(11)); - }); - it('should return correct feeTakerToken and totalTakerToken amounts when provides SwapQuote with fees', () => { - const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee(fakeSwapQuoteWithFees, FEE_PERCENTAGE); - expect(updatedSwapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.deep.equal(new BigNumber(4)); - expect(updatedSwapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(14)); - expect(updatedSwapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.deep.equal(new BigNumber(4)); - expect(updatedSwapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(14)); - }); + it('should return unchanged swapQuote if feePercentage is 0', () => { + const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee(fakeSwapQuote, 0); + const fakeSwapQuoteWithAffiliateFees = { ...fakeSwapQuote, ...{ feePercentage: 0 } }; + expect(updatedSwapQuote).to.deep.equal(fakeSwapQuoteWithAffiliateFees); + }); + it('should return correct feeTakerToken and totalTakerToken amounts when provided SwapQuote with no fees', () => { + const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee(fakeSwapQuote, FEE_PERCENTAGE); + expect(updatedSwapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.deep.equal(new BigNumber(1)); + expect(updatedSwapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(11)); + expect(updatedSwapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.deep.equal(new BigNumber(1)); + expect(updatedSwapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(11)); + }); + it('should return correct feeTakerToken and totalTakerToken amounts when provides SwapQuote with fees', () => { + const updatedSwapQuote = affiliateFeeUtils.getSwapQuoteWithAffiliateFee( + fakeSwapQuoteWithFees, + FEE_PERCENTAGE, + ); + expect(updatedSwapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.deep.equal(new BigNumber(4)); + expect(updatedSwapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(14)); + expect(updatedSwapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.deep.equal(new BigNumber(4)); + expect(updatedSwapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.deep.equal(new BigNumber(14)); + }); }); }); diff --git a/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts b/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts index 269d041d45..6b3b80d15a 100644 --- a/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts +++ b/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts @@ -8,15 +8,19 @@ import { BigNumber } from '@0x/utils'; import * as chai from 'chai'; import 'mocha'; -import { SwapQuote, SwapQuoteConsumer } from '../src'; +import { SwapQuote } from '../src'; import { constants } from '../src/constants'; import { ExchangeSwapQuoteConsumer } from '../src/quote_consumers/exchange_swap_quote_consumer'; -import { ForwarderSwapQuoteConsumer } from '../src/quote_consumers/forwarder_swap_quote_consumer'; -import { ExchangeMarketBuySmartContractParams, ExchangeMarketSellSmartContractParams, MarketBuySwapQuote, MarketSellSwapQuote } from '../src/types'; +import { + ExchangeMarketBuySmartContractParams, + ExchangeMarketSellSmartContractParams, + MarketBuySwapQuote, + MarketSellSwapQuote, +} from '../src/types'; import { chaiSetup } from './utils/chai_setup'; import { migrateOnceAsync } from './utils/migrate'; -import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFeesAsync } from './utils/swap_quote'; +import { getFullyFillableSwapQuoteWithNoFees } from './utils/swap_quote'; import { provider, web3Wrapper } from './utils/web3_wrapper'; chaiSetup.configure(); @@ -25,9 +29,9 @@ const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); const ONE_ETH_IN_WEI = new BigNumber(1000000000000000000); const TESTRPC_NETWORK_ID = 50; -const MARKET_OPERATION = MarketOperation.Sell; -const FILLABLE_AMOUNTS = [new BigNumber(3), new BigNumber(2), new BigNumber(5)].map(value => value.multipliedBy(ONE_ETH_IN_WEI)); -const FILLABLE_FEE_AMOUNTS = [new BigNumber(1), new BigNumber(1), new BigNumber(1)].map(value => value.multipliedBy(ONE_ETH_IN_WEI)); +const FILLABLE_AMOUNTS = [new BigNumber(3), new BigNumber(2), new BigNumber(5)].map(value => + value.multipliedBy(ONE_ETH_IN_WEI), +); describe('ExchangeSwapQuoteConsumer', () => { let contractWrappers: ContractWrappers; @@ -115,54 +119,62 @@ describe('ExchangeSwapQuoteConsumer', () => { await blockchainLifecycle.revertAsync(); }); describe('executeSwapQuoteOrThrowAsync', () => { - - /* - * Testing that SwapQuoteConsumer logic correctly performs a execution (doesn't throw or revert) - * Does not test the validity of the state change performed by the forwarder smart contract - */ - it('should perform a marketSell execution when provided a MarketSell type swapQuote', async () => { - let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); - let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); - expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketSellSwapQuote, { takerAddress }); - makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); - takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); - expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - }); - it('should perform a marketBuy execution when provided a MarketBuy type swapQuote', async () => { - let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); - let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); - expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress }); - makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); - takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); - expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - }); + /* + * Testing that SwapQuoteConsumer logic correctly performs a execution (doesn't throw or revert) + * Does not test the validity of the state change performed by the forwarder smart contract + */ + it('should perform a marketSell execution when provided a MarketSell type swapQuote', async () => { + let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketSellSwapQuote, { takerAddress }); + makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(takerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); }); + it('should perform a marketBuy execution when provided a MarketBuy type swapQuote', async () => { + let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress }); + makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); + takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); + expect(takerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); + }); + }); describe('getSmartContractParamsOrThrow', () => { - describe('valid swap quote', async () => { // TODO(david) Check for valid MethodAbi it('provide correct and optimized smart contract params for a marketSell SwapQuote', async () => { - const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketSellSwapQuote, {}); + const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( + marketSellSwapQuote, + {}, + ); expect(to).to.deep.equal(contractWrappers.exchange.address); const { takerAssetFillAmount, signatures, type } = params as ExchangeMarketSellSmartContractParams; expect(type).to.deep.equal(MarketOperation.Sell); - expect(takerAssetFillAmount).to.bignumber.equal((marketSellSwapQuote as MarketSellSwapQuote).takerAssetFillAmount); + expect(takerAssetFillAmount).to.bignumber.equal( + (marketSellSwapQuote as MarketSellSwapQuote).takerAssetFillAmount, + ); const orderSignatures = marketSellSwapQuote.orders.map(order => order.signature); expect(signatures).to.deep.equal(orderSignatures); }); it('provide correct and optimized smart contract params for a marketBuy SwapQuote', async () => { - const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketBuySwapQuote, {}); + const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( + marketBuySwapQuote, + {}, + ); expect(to).to.deep.equal(contractWrappers.exchange.address); const { makerAssetFillAmount, signatures, type } = params as ExchangeMarketBuySmartContractParams; expect(type).to.deep.equal(MarketOperation.Buy); - expect(makerAssetFillAmount).to.bignumber.equal((marketBuySwapQuote as MarketBuySwapQuote).makerAssetFillAmount); + expect(makerAssetFillAmount).to.bignumber.equal( + (marketBuySwapQuote as MarketBuySwapQuote).makerAssetFillAmount, + ); const orderSignatures = marketSellSwapQuote.orders.map(order => order.signature); expect(signatures).to.deep.equal(orderSignatures); }); @@ -174,9 +186,12 @@ describe('ExchangeSwapQuoteConsumer', () => { it('provide correct and optimized calldata options with default options for a marketSell SwapQuote (no affiliate fees)', async () => { let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync(marketSellSwapQuote, {}); + const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync( + marketSellSwapQuote, + {}, + ); expect(to).to.deep.equal(contractWrappers.exchange.address); await web3Wrapper.sendTransactionAsync({ from: takerAddress, @@ -186,15 +201,18 @@ describe('ExchangeSwapQuoteConsumer', () => { }); makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); }); it('provide correct and optimized calldata options with default options for a marketBuy SwapQuote (no affiliate fees)', async () => { let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync(marketBuySwapQuote, {}); + const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync( + marketBuySwapQuote, + {}, + ); expect(to).to.deep.equal(contractWrappers.exchange.address); await web3Wrapper.sendTransactionAsync({ from: takerAddress, @@ -204,7 +222,7 @@ describe('ExchangeSwapQuoteConsumer', () => { }); makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); }); }); diff --git a/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts b/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts index 1b5b6d9137..df26f9e922 100644 --- a/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts +++ b/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts @@ -1,22 +1,25 @@ import { ContractAddresses, ContractWrappers } from '@0x/contract-wrappers'; import { tokenUtils } from '@0x/contract-wrappers/lib/test/utils/token_utils'; import { BlockchainLifecycle } from '@0x/dev-utils'; -import { FillScenarios } from '@0x/fill-scenarios'; import { assetDataUtils } from '@0x/order-utils'; import { MarketOperation, SignedOrder } from '@0x/types'; -import { BigNumber, AbiDecoder } from '@0x/utils'; +import { BigNumber } from '@0x/utils'; import * as chai from 'chai'; import 'mocha'; import { SwapQuote } from '../src'; +import { constants } from '../src/constants'; import { ForwarderSwapQuoteConsumer } from '../src/quote_consumers/forwarder_swap_quote_consumer'; +import { + ForwarderMarketBuySmartContractParams, + ForwarderMarketSellSmartContractParams, + MarketBuySwapQuote, +} from '../src/types'; import { chaiSetup } from './utils/chai_setup'; import { migrateOnceAsync } from './utils/migrate'; import { getFullyFillableSwapQuoteWithNoFees, getSignedOrdersWithNoFeesAsync } from './utils/swap_quote'; import { provider, web3Wrapper } from './utils/web3_wrapper'; -import { constants } from '../src/constants'; -import { ForwarderMarketSellSmartContractParams, MarketSellSwapQuote, ForwarderMarketBuySmartContractParams, MarketBuySwapQuote } from '../src/types'; chaiSetup.configure(); const expect = chai.expect; @@ -25,8 +28,9 @@ const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); const ONE_ETH_IN_WEI = new BigNumber(1000000000000000000); const TESTRPC_NETWORK_ID = 50; const MARKET_OPERATION = MarketOperation.Sell; -const FILLABLE_AMOUNTS = [new BigNumber(2), new BigNumber(3), new BigNumber(5)].map(value => value.multipliedBy(ONE_ETH_IN_WEI)); -const FILLABLE_FEE_AMOUNTS = [new BigNumber(1), new BigNumber(1), new BigNumber(1)].map(value => value.multipliedBy(ONE_ETH_IN_WEI)); +const FILLABLE_AMOUNTS = [new BigNumber(2), new BigNumber(3), new BigNumber(5)].map(value => + value.multipliedBy(ONE_ETH_IN_WEI), +); describe('ForwarderSwapQuoteConsumer', () => { let contractWrappers: ContractWrappers; @@ -34,7 +38,6 @@ describe('ForwarderSwapQuoteConsumer', () => { let coinbaseAddress: string; let makerAddress: string; let takerAddress: string; - let fillScenarios: FillScenarios; let feeRecipient: string; let makerTokenAddress: string; let takerTokenAddress: string; @@ -54,14 +57,6 @@ describe('ForwarderSwapQuoteConsumer', () => { contractAddresses = await migrateOnceAsync(); await blockchainLifecycle.startAsync(); userAddresses = await web3Wrapper.getAvailableAddressesAsync(); - fillScenarios = new FillScenarios( - provider, - userAddresses, - contractAddresses.zrxToken, - contractAddresses.exchange, - contractAddresses.erc20Proxy, - contractAddresses.erc721Proxy, - ); const config = { networkId, contractAddresses, @@ -83,11 +78,24 @@ describe('ForwarderSwapQuoteConsumer', () => { const UNLIMITED_ALLOWANCE = contractWrappers.erc20Token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS; erc20ProxyAddress = contractWrappers.erc20Proxy.address; - const totalFillableAmount = FILLABLE_AMOUNTS.reduce((a: BigNumber, c: BigNumber) => a.plus(c), new BigNumber(0)); + const totalFillableAmount = FILLABLE_AMOUNTS.reduce( + (a: BigNumber, c: BigNumber) => a.plus(c), + new BigNumber(0), + ); - await contractWrappers.erc20Token.transferAsync(makerTokenAddress, coinbaseAddress, makerAddress, totalFillableAmount); + await contractWrappers.erc20Token.transferAsync( + makerTokenAddress, + coinbaseAddress, + makerAddress, + totalFillableAmount, + ); - await contractWrappers.erc20Token.setAllowanceAsync(makerTokenAddress, makerAddress, erc20ProxyAddress, UNLIMITED_ALLOWANCE); + await contractWrappers.erc20Token.setAllowanceAsync( + makerTokenAddress, + makerAddress, + erc20ProxyAddress, + UNLIMITED_ALLOWANCE, + ); orders = await getSignedOrdersWithNoFeesAsync( provider, makerAssetData, @@ -120,26 +128,27 @@ describe('ForwarderSwapQuoteConsumer', () => { await blockchainLifecycle.revertAsync(); }); describe('executeSwapQuoteOrThrowAsync', () => { - describe('validation', () => { it('should throw if swapQuote provided is not a valid forwarder SwapQuote (taker asset is wEth', async () => { - const invalidSignedOrders = await getSignedOrdersWithNoFeesAsync( - provider, - makerAssetData, - takerAssetData, - makerAddress, - takerAddress, - FILLABLE_AMOUNTS, - ); - const invalidSwapQuote = getFullyFillableSwapQuoteWithNoFees( - makerAssetData, - takerAssetData, - invalidSignedOrders, - MARKET_OPERATION, - ); - expect( - swapQuoteConsumer.executeSwapQuoteOrThrowAsync(invalidSwapQuote, { takerAddress }), - ).to.be.rejectedWith(`Expected quote.orders[0] to have takerAssetData set as ${wethAssetData}, but is ${takerAssetData}`); + const invalidSignedOrders = await getSignedOrdersWithNoFeesAsync( + provider, + makerAssetData, + takerAssetData, + makerAddress, + takerAddress, + FILLABLE_AMOUNTS, + ); + const invalidSwapQuote = getFullyFillableSwapQuoteWithNoFees( + makerAssetData, + takerAssetData, + invalidSignedOrders, + MARKET_OPERATION, + ); + expect( + swapQuoteConsumer.executeSwapQuoteOrThrowAsync(invalidSwapQuote, { takerAddress }), + ).to.be.rejectedWith( + `Expected quote.orders[0] to have takerAssetData set as ${wethAssetData}, but is ${takerAssetData}`, + ); }); }); @@ -152,24 +161,24 @@ describe('ForwarderSwapQuoteConsumer', () => { it('should perform a marketSell execution when provided a MarketSell type swapQuote', async () => { let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketSellSwapQuote, { takerAddress }); makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(makerBalance).to.bignumber.equal((new BigNumber(0.5)).multipliedBy(ONE_ETH_IN_WEI)); - expect(takerBalance).to.bignumber.equal((new BigNumber(9.5)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(new BigNumber(0.5).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(new BigNumber(9.5).multipliedBy(ONE_ETH_IN_WEI)); }); - + it('should perform a marketBuy execution when provided a MarketBuy type swapQuote', async () => { let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress }); makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); }); @@ -177,15 +186,21 @@ describe('ForwarderSwapQuoteConsumer', () => { let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); const feeRecipientEthBalanceBefore = await web3Wrapper.getBalanceInWeiAsync(feeRecipient); - expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { takerAddress, feePercentage: 0.05, feeRecipient }); + await swapQuoteConsumer.executeSwapQuoteOrThrowAsync(marketBuySwapQuote, { + takerAddress, + feePercentage: 0.05, + feeRecipient, + }); makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); const feeRecipientEthBalanceAfter = await web3Wrapper.getBalanceInWeiAsync(feeRecipient); expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); - expect(feeRecipientEthBalanceAfter.minus(feeRecipientEthBalanceBefore)).to.bignumber.equal((new BigNumber(0.5)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); + expect(feeRecipientEthBalanceAfter.minus(feeRecipientEthBalanceBefore)).to.bignumber.equal( + new BigNumber(0.5).multipliedBy(ONE_ETH_IN_WEI), + ); }); // TODO(david) Finish marketSell affiliate fee excution testing @@ -209,7 +224,6 @@ describe('ForwarderSwapQuoteConsumer', () => { }); describe('getSmartContractParamsOrThrow', () => { - describe('validation', () => { it('should throw if swap quote provided is not a valid forwarder SwapQuote (taker asset is WETH)', async () => { const invalidSignedOrders = await getSignedOrdersWithNoFeesAsync( @@ -225,18 +239,27 @@ describe('ForwarderSwapQuoteConsumer', () => { takerAssetData, invalidSignedOrders, MARKET_OPERATION, - ); - expect( - swapQuoteConsumer.getSmartContractParamsOrThrowAsync(invalidSwapQuote, { }), - ).to.be.rejectedWith(`Expected quote.orders[0] to have takerAssetData set as ${wethAssetData}, but is ${takerAssetData}`); + ); + expect(swapQuoteConsumer.getSmartContractParamsOrThrowAsync(invalidSwapQuote, {})).to.be.rejectedWith( + `Expected quote.orders[0] to have takerAssetData set as ${wethAssetData}, but is ${takerAssetData}`, + ); }); }); describe('valid swap quote', async () => { it('provide correct and optimized smart contract params with default options for a marketSell SwapQuote (no affiliate fees)', async () => { - const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketSellSwapQuote, {}); + const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( + marketSellSwapQuote, + {}, + ); expect(to).to.deep.equal(contractWrappers.forwarder.address); - const { feeSignatures, feePercentage, feeRecipient: feeRecipientFromParams, signatures, type } = params as ForwarderMarketSellSmartContractParams; + const { + feeSignatures, + feePercentage, + feeRecipient: feeRecipientFromParams, + signatures, + type, + } = params as ForwarderMarketSellSmartContractParams; expect(type).to.deep.equal(MarketOperation.Sell); expect(feeRecipientFromParams).to.deep.equal(constants.NULL_ADDRESS); const orderSignatures = marketSellSwapQuote.orders.map(order => order.signature); @@ -245,38 +268,71 @@ describe('ForwarderSwapQuoteConsumer', () => { expect(feeSignatures).to.deep.equal([]); }); it('provide correct and optimized smart contract params with default options for a marketBuy SwapQuote (no affiliate fees)', async () => { - const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketBuySwapQuote, {}); + const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( + marketBuySwapQuote, + {}, + ); expect(to).to.deep.equal(contractWrappers.forwarder.address); - const { makerAssetFillAmount, feeSignatures, feePercentage, feeRecipient: feeRecipientFromParams, signatures, type } = params as ForwarderMarketBuySmartContractParams; + const { + makerAssetFillAmount, + feeSignatures, + feePercentage, + feeRecipient: feeRecipientFromParams, + signatures, + type, + } = params as ForwarderMarketBuySmartContractParams; expect(type).to.deep.equal(MarketOperation.Buy); expect(feeRecipientFromParams).to.deep.equal(constants.NULL_ADDRESS); - expect(makerAssetFillAmount).to.bignumber.equal((marketBuySwapQuote as MarketBuySwapQuote).makerAssetFillAmount); + expect(makerAssetFillAmount).to.bignumber.equal( + (marketBuySwapQuote as MarketBuySwapQuote).makerAssetFillAmount, + ); const orderSignatures = marketBuySwapQuote.orders.map(order => order.signature); expect(signatures).to.deep.equal(orderSignatures); expect(feePercentage).to.bignumber.equal(0); expect(feeSignatures).to.deep.equal([]); }); it('provide correct and optimized smart contract params with affiliate fees for a marketSell SwapQuote', async () => { - const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketSellSwapQuote, { feePercentage: 0.05, feeRecipient }); + const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketSellSwapQuote, { + feePercentage: 0.05, + feeRecipient, + }); expect(to).to.deep.equal(contractWrappers.forwarder.address); - const { feeSignatures, feePercentage, feeRecipient: feeRecipientFromParams, signatures, type } = params as ForwarderMarketSellSmartContractParams; + const { + feeSignatures, + feePercentage, + feeRecipient: feeRecipientFromParams, + signatures, + type, + } = params as ForwarderMarketSellSmartContractParams; expect(type).to.deep.equal(MarketOperation.Sell); expect(feeRecipientFromParams).to.deep.equal(feeRecipient); const orderSignatures = marketSellSwapQuote.orders.map(order => order.signature); expect(signatures).to.deep.equal(orderSignatures); - expect(feePercentage).to.bignumber.equal((new BigNumber(0.05)).multipliedBy(ONE_ETH_IN_WEI)); + expect(feePercentage).to.bignumber.equal(new BigNumber(0.05).multipliedBy(ONE_ETH_IN_WEI)); expect(feeSignatures).to.deep.equal([]); }); it('provide correct and optimized smart contract params with affiliate fees for a marketBuy SwapQuote', async () => { - const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketBuySwapQuote, { feePercentage: 0.05, feeRecipient }); + const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketBuySwapQuote, { + feePercentage: 0.05, + feeRecipient, + }); expect(to).to.deep.equal(contractWrappers.forwarder.address); - const { makerAssetFillAmount, feeSignatures, feePercentage, feeRecipient: feeRecipientFromParams, signatures, type } = params as ForwarderMarketBuySmartContractParams; + const { + makerAssetFillAmount, + feeSignatures, + feePercentage, + feeRecipient: feeRecipientFromParams, + signatures, + type, + } = params as ForwarderMarketBuySmartContractParams; expect(type).to.deep.equal(MarketOperation.Buy); expect(feeRecipientFromParams).to.deep.equal(feeRecipient); - expect(makerAssetFillAmount).to.bignumber.equal((marketBuySwapQuote as MarketBuySwapQuote).makerAssetFillAmount); + expect(makerAssetFillAmount).to.bignumber.equal( + (marketBuySwapQuote as MarketBuySwapQuote).makerAssetFillAmount, + ); const orderSignatures = marketBuySwapQuote.orders.map(order => order.signature); expect(signatures).to.deep.equal(orderSignatures); - expect(feePercentage).to.bignumber.equal((new BigNumber(0.05)).multipliedBy(ONE_ETH_IN_WEI)); + expect(feePercentage).to.bignumber.equal(new BigNumber(0.05).multipliedBy(ONE_ETH_IN_WEI)); expect(feeSignatures).to.deep.equal([]); }); }); @@ -298,10 +354,10 @@ describe('ForwarderSwapQuoteConsumer', () => { takerAssetData, invalidSignedOrders, MARKET_OPERATION, - ); - expect( - swapQuoteConsumer.getCalldataOrThrowAsync(invalidSwapQuote, { }), - ).to.be.rejectedWith(`Expected quote.orders[0] to have takerAssetData set as ${wethAssetData}, but is ${takerAssetData}`); + ); + expect(swapQuoteConsumer.getCalldataOrThrowAsync(invalidSwapQuote, {})).to.be.rejectedWith( + `Expected quote.orders[0] to have takerAssetData set as ${wethAssetData}, but is ${takerAssetData}`, + ); }); }); @@ -309,9 +365,12 @@ describe('ForwarderSwapQuoteConsumer', () => { it('provide correct and optimized calldata options with default options for a marketSell SwapQuote (no affiliate fees)', async () => { let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync(marketSellSwapQuote, {}); + const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync( + marketSellSwapQuote, + {}, + ); expect(to).to.deep.equal(contractWrappers.forwarder.address); await web3Wrapper.sendTransactionAsync({ from: takerAddress, @@ -322,15 +381,18 @@ describe('ForwarderSwapQuoteConsumer', () => { }); makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(makerBalance).to.bignumber.equal((new BigNumber(0.5).multipliedBy(ONE_ETH_IN_WEI))); - expect(takerBalance).to.bignumber.equal((new BigNumber(9.5)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(new BigNumber(0.5).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(new BigNumber(9.5).multipliedBy(ONE_ETH_IN_WEI)); }); it('provide correct and optimized calldata options with default options for a marketBuy SwapQuote (no affiliate fees)', async () => { let makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(makerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync(marketBuySwapQuote, {}); + const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync( + marketBuySwapQuote, + {}, + ); expect(to).to.deep.equal(contractAddresses.forwarder); await web3Wrapper.sendTransactionAsync({ from: takerAddress, @@ -341,7 +403,7 @@ describe('ForwarderSwapQuoteConsumer', () => { }); makerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, makerAddress); takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); - expect(takerBalance).to.bignumber.equal((new BigNumber(10)).multipliedBy(ONE_ETH_IN_WEI)); + expect(takerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(makerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); }); // TODO(david) finish testing for affiliate fees calldata output diff --git a/packages/asset-swapper/test/swap_quote_calculator_test.ts b/packages/asset-swapper/test/swap_quote_calculator_test.ts index bb2a3004fc..eafa176a15 100644 --- a/packages/asset-swapper/test/swap_quote_calculator_test.ts +++ b/packages/asset-swapper/test/swap_quote_calculator_test.ts @@ -323,18 +323,14 @@ describe('swapQuoteCalculator', () => { expect(swapQuote.bestCaseQuoteInfo.makerTokenAmount).to.bignumber.equal( expectedMakerAssetAmountForTakerAsset, ); - expect(swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( - constants.ZERO_AMOUNT, - ); + expect(swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal(constants.ZERO_AMOUNT); expect(swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal(expectedTotalTakerAssetAmount); // because we have no slippage protection, minRate is equal to maxRate expect(swapQuote.worstCaseQuoteInfo.takerTokenAmount).to.bignumber.equal(assetSellAmount); expect(swapQuote.worstCaseQuoteInfo.makerTokenAmount).to.bignumber.equal( expectedMakerAssetAmountForTakerAsset, ); - expect(swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( - constants.ZERO_AMOUNT, - ); + expect(swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal(constants.ZERO_AMOUNT); expect(swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal( expectedTotalTakerAssetAmount, ); @@ -365,9 +361,7 @@ describe('swapQuoteCalculator', () => { expect(swapQuote.bestCaseQuoteInfo.makerTokenAmount).to.bignumber.equal( expectedMakerAssetAmountForTakerAsset, ); - expect(swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( - constants.ZERO_AMOUNT, - ); + expect(swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal(constants.ZERO_AMOUNT); expect(swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal(expectedTotalTakerAssetAmount); // 100 eth to fill the first order + 208 eth for fees const expectedWorstMakerAssetAmountForTakerAsset = new BigNumber(100); @@ -376,9 +370,7 @@ describe('swapQuoteCalculator', () => { expect(swapQuote.worstCaseQuoteInfo.makerTokenAmount).to.bignumber.equal( expectedWorstMakerAssetAmountForTakerAsset, ); - expect(swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( - constants.ZERO_AMOUNT, - ); + expect(swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal(constants.ZERO_AMOUNT); expect(swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal( expectedWorstTotalTakerAssetAmount, ); @@ -693,17 +685,13 @@ describe('swapQuoteCalculator', () => { expect(swapQuote.bestCaseQuoteInfo.takerTokenAmount).to.bignumber.equal( expectedTakerAssetAmountForMakerAsset, ); - expect(swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( - constants.ZERO_AMOUNT, - ); + expect(swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal(constants.ZERO_AMOUNT); expect(swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal(expectedTotalTakerAssetAmount); // because we have no slippage protection, minRate is equal to maxRate expect(swapQuote.worstCaseQuoteInfo.takerTokenAmount).to.bignumber.equal( expectedTakerAssetAmountForMakerAsset, ); - expect(swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( - constants.ZERO_AMOUNT, - ); + expect(swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal(constants.ZERO_AMOUNT); expect(swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal( expectedTotalTakerAssetAmount, ); @@ -734,9 +722,7 @@ describe('swapQuoteCalculator', () => { expect(swapQuote.bestCaseQuoteInfo.takerTokenAmount).to.bignumber.equal( expectedTakerAssetAmountForMakerAsset, ); - expect(swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( - constants.ZERO_AMOUNT, - ); + expect(swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal(constants.ZERO_AMOUNT); expect(swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal(expectedTotalTakerAssetAmount); // 100 eth to fill the first order + 208 eth for fees const expectedWorstTakerAssetAmountForMakerAsset = new BigNumber(100); @@ -744,9 +730,7 @@ describe('swapQuoteCalculator', () => { expect(swapQuote.worstCaseQuoteInfo.takerTokenAmount).to.bignumber.equal( expectedWorstTakerAssetAmountForMakerAsset, ); - expect(swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal( - constants.ZERO_AMOUNT, - ); + expect(swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount).to.bignumber.equal(constants.ZERO_AMOUNT); expect(swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount).to.bignumber.equal( expectedWorstTotalTakerAssetAmount, ); diff --git a/packages/asset-swapper/test/swap_quote_consumer_utils_test.ts b/packages/asset-swapper/test/swap_quote_consumer_utils_test.ts index 0ddfeb7f74..79f00f5b0f 100644 --- a/packages/asset-swapper/test/swap_quote_consumer_utils_test.ts +++ b/packages/asset-swapper/test/swap_quote_consumer_utils_test.ts @@ -1,14 +1,13 @@ import { ContractAddresses, ContractWrappers } from '@0x/contract-wrappers'; import { tokenUtils } from '@0x/contract-wrappers/lib/test/utils/token_utils'; import { BlockchainLifecycle } from '@0x/dev-utils'; -import { FillScenarios } from '@0x/fill-scenarios'; import { assetDataUtils } from '@0x/order-utils'; import { MarketOperation, SignedOrder } from '@0x/types'; import { BigNumber } from '@0x/utils'; import * as chai from 'chai'; import 'mocha'; -import { SwapQuote, SwapQuoteConsumer } from '../src'; +import { SwapQuote } from '../src'; import { ConsumerType } from '../src/types'; import { swapQuoteConsumerUtils } from '../src/utils/swap_quote_consumer_utils'; @@ -23,16 +22,18 @@ const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); const ONE_ETH_IN_WEI = new BigNumber(1000000000000000000); const TESTRPC_NETWORK_ID = 50; -const MARKET_OPERATION = MarketOperation.Sell; -const FILLABLE_AMOUNTS = [new BigNumber(2), new BigNumber(3), new BigNumber(5)].map(value => value.multipliedBy(ONE_ETH_IN_WEI)); -const LARGE_FILLABLE_AMOUNTS = [new BigNumber(20), new BigNumber(20), new BigNumber(20)].map(value => value.multipliedBy(ONE_ETH_IN_WEI)); +const FILLABLE_AMOUNTS = [new BigNumber(2), new BigNumber(3), new BigNumber(5)].map(value => + value.multipliedBy(ONE_ETH_IN_WEI), +); +const LARGE_FILLABLE_AMOUNTS = [new BigNumber(20), new BigNumber(20), new BigNumber(20)].map(value => + value.multipliedBy(ONE_ETH_IN_WEI), +); describe('swapQuoteConsumerUtils', () => { let contractWrappers: ContractWrappers; let userAddresses: string[]; let makerAddress: string; let takerAddress: string; - let feeRecipient: string; let makerTokenAddress: string; let takerTokenAddress: string; let makerAssetData: string; @@ -50,7 +51,7 @@ describe('swapQuoteConsumerUtils', () => { contractAddresses, }; contractWrappers = new ContractWrappers(provider, config); - [takerAddress, makerAddress, feeRecipient] = userAddresses; + [takerAddress, makerAddress] = userAddresses; [makerTokenAddress, takerTokenAddress] = tokenUtils.getDummyERC20TokenAddresses(); [makerAssetData, takerAssetData, wethAssetData] = [ assetDataUtils.encodeERC20AssetData(makerTokenAddress), @@ -75,11 +76,8 @@ describe('swapQuoteConsumerUtils', () => { let forwarderSwapQuote: SwapQuote; let exchangeSwapQuote: SwapQuote; let largeForwarderSwapQuote: SwapQuote; - let swapQuoteConsumer: SwapQuoteConsumer; beforeEach(async () => { - swapQuoteConsumer = new SwapQuoteConsumer(provider, { networkId }); - exchangeOrders = await getSignedOrdersWithNoFeesAsync( provider, makerAssetData, @@ -148,7 +146,7 @@ describe('swapQuoteConsumerUtils', () => { expect(consumerType).to.equal(ConsumerType.Forwarder); }); it('should return exchange consumer if takerAsset is wEth and taker has enough weth', async () => { - const etherInWei = (new BigNumber(20)).multipliedBy(ONE_ETH_IN_WEI); + const etherInWei = new BigNumber(20).multipliedBy(ONE_ETH_IN_WEI); await contractWrappers.etherToken.depositAsync(contractAddresses.etherToken, etherInWei, takerAddress); const consumerType = await swapQuoteConsumerUtils.getConsumerTypeForSwapQuoteAsync( forwarderSwapQuote, @@ -158,8 +156,8 @@ describe('swapQuoteConsumerUtils', () => { ); expect(consumerType).to.equal(ConsumerType.Exchange); }); - it('should return forwarder consumer if takerAsset is wEth and takerAddress has no available balance in either weth or eth (defaulting behavior)',async () => { - const etherInWei = (new BigNumber(50)).multipliedBy(ONE_ETH_IN_WEI); + it('should return forwarder consumer if takerAsset is wEth and takerAddress has no available balance in either weth or eth (defaulting behavior)', async () => { + const etherInWei = new BigNumber(50).multipliedBy(ONE_ETH_IN_WEI); await contractWrappers.etherToken.depositAsync(contractAddresses.etherToken, etherInWei, takerAddress); const consumerType = await swapQuoteConsumerUtils.getConsumerTypeForSwapQuoteAsync( largeForwarderSwapQuote, diff --git a/packages/asset-swapper/test/utils/swap_quote.ts b/packages/asset-swapper/test/utils/swap_quote.ts index a436e7a412..fcf4ca03cc 100644 --- a/packages/asset-swapper/test/utils/swap_quote.ts +++ b/packages/asset-swapper/test/utils/swap_quote.ts @@ -80,12 +80,7 @@ export const getFullyFillableSwapQuoteWithFees = ( feeOrders: SignedOrder[], operation: MarketOperation, ) => { - const swapQuote = getFullyFillableSwapQuoteWithNoFees( - makerAssetData, - takerAssetData, - orders, - operation, - ); + const swapQuote = getFullyFillableSwapQuoteWithNoFees(makerAssetData, takerAssetData, orders, operation); swapQuote.feeOrders = feeOrders; const totalFeeTakerTokenAmount = _.reduce( feeOrders, @@ -95,8 +90,12 @@ export const getFullyFillableSwapQuoteWithFees = ( // Adds fees to the SwapQuoteInfos assuming all feeOrders will be filled swapQuote.bestCaseQuoteInfo.feeTakerTokenAmount = totalFeeTakerTokenAmount; swapQuote.worstCaseQuoteInfo.feeTakerTokenAmount = totalFeeTakerTokenAmount; - swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount = swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount.plus(totalFeeTakerTokenAmount); - swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount = swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount.plus(totalFeeTakerTokenAmount); + swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount = swapQuote.bestCaseQuoteInfo.totalTakerTokenAmount.plus( + totalFeeTakerTokenAmount, + ); + swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount = swapQuote.worstCaseQuoteInfo.totalTakerTokenAmount.plus( + totalFeeTakerTokenAmount, + ); return swapQuote; }; From a6bc0db89624a80da92cbb60cab0103ddf7ffc13 Mon Sep 17 00:00:00 2001 From: David Sun Date: Mon, 29 Jul 2019 11:24:47 -0700 Subject: [PATCH 063/162] removed banner --- .../website/ts/components/sections/landing/hero.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/website/ts/components/sections/landing/hero.tsx b/packages/website/ts/components/sections/landing/hero.tsx index 31b75f4cbd..e5182b008b 100644 --- a/packages/website/ts/components/sections/landing/hero.tsx +++ b/packages/website/ts/components/sections/landing/hero.tsx @@ -7,11 +7,11 @@ import { LandingAnimation } from 'ts/components/heroImage'; import { HeroAnimation } from 'ts/components/heroAnimation'; import { WebsitePaths } from 'ts/types'; -const announcement = { - headline: 'Vote on ZEIP-24 & ZEIP-39', - href: '/vote', - shouldOpenInNewTab: false, -}; +// const announcement = { +// headline: 'Vote on ZEIP-24 & ZEIP-39', +// href: '/vote', +// shouldOpenInNewTab: false, +// }; export const SectionLandingHero = () => ( ( description="0x is an open protocol that enables the peer-to-peer exchange of assets on the Ethereum blockchain." figure={} />} actions={} - announcement={announcement} + // announcement={announcement} /> ); From aab39e6ae059b89618f8f04466f2c06a93f24c51 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Sat, 27 Jul 2019 16:20:10 +0200 Subject: [PATCH 064/162] Use explicit URL form for Github dependencies with commit hash to avoid Yarn caching issue --- packages/website/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 09a9064fe7..57ffc3cf48 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -71,7 +71,7 @@ "react-redux": "^5.0.3", "react-responsive": "^6.0.1", "react-router-dom": "^4.3.1", - "react-scroll": "0xproject/react-scroll#pr-330-and-replace-state", + "react-scroll": "https://github.com/0xProject/react-scroll.git#d2afc2729dc09980e4113d8c38a1b012ba180d81", "react-scrollable-anchor": "^0.6.1", "react-syntax-highlighter": "^10.1.1", "react-tooltip": "^3.2.7", diff --git a/yarn.lock b/yarn.lock index 7c3dddff6b..0d1d7121b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14224,9 +14224,9 @@ react-helmet@^5.2.0: prop-types "^15.5.4" react-side-effect "^1.1.0" -react-highlight@0xproject/react-highlight#react-peer-deps: +"react-highlight@https://github.com/0xProject/react-highlight.git#a70c7631e09508dafc4719cbcc6f121074e1937d": version "1.0.0" - resolved "https://codeload.github.com/0xproject/react-highlight/tar.gz/a70c7631e09508dafc4719cbcc6f121074e1937d" + resolved "https://github.com/0xProject/react-highlight.git#a70c7631e09508dafc4719cbcc6f121074e1937d" dependencies: highlight.js "^9.11.0" highlightjs-solidity "^1.0.5" @@ -14340,9 +14340,9 @@ react-router@^4.3.1: prop-types "^15.6.1" warning "^4.0.1" -react-scroll@0xproject/react-scroll#pr-330-and-replace-state: +"react-scroll@https://github.com/0xProject/react-scroll.git#d2afc2729dc09980e4113d8c38a1b012ba180d81": version "1.7.11" - resolved "https://codeload.github.com/0xproject/react-scroll/tar.gz/d2afc2729dc09980e4113d8c38a1b012ba180d81" + resolved "https://github.com/0xProject/react-scroll.git#d2afc2729dc09980e4113d8c38a1b012ba180d81" dependencies: lodash.throttle "^4.1.1" prop-types "^15.5.8" From f786f8a7f6f01afe7a9fdd74ae4d637a4203b60e Mon Sep 17 00:00:00 2001 From: David Sun Date: Mon, 29 Jul 2019 14:43:51 -0700 Subject: [PATCH 065/162] renaming to -> toAddress --- .../exchange_swap_quote_consumer.ts | 6 +-- .../forwarder_swap_quote_consumer.ts | 6 +-- packages/asset-swapper/src/types.ts | 8 ++-- .../test/exchange_swap_quote_consumer_test.ts | 20 ++++---- .../forwarder_swap_quote_consumer_test.ts | 46 +++++++++++-------- 5 files changed, 46 insertions(+), 40 deletions(-) diff --git a/packages/asset-swapper/src/quote_consumers/exchange_swap_quote_consumer.ts b/packages/asset-swapper/src/quote_consumers/exchange_swap_quote_consumer.ts index 0b4cb189ed..9d4badd8cd 100644 --- a/packages/asset-swapper/src/quote_consumers/exchange_swap_quote_consumer.ts +++ b/packages/asset-swapper/src/quote_consumers/exchange_swap_quote_consumer.ts @@ -45,7 +45,7 @@ export class ExchangeSwapQuoteConsumer implements SwapQuoteConsumerBase { assert.isValidSwapQuote('quote', quote); - const { to, methodAbi, ethAmount, params } = await this.getSmartContractParamsOrThrowAsync(quote, opts); + const { toAddress, methodAbi, ethAmount, params } = await this.getSmartContractParamsOrThrowAsync(quote, opts); const abiEncoder = new AbiEncoder.Method(methodAbi); @@ -62,7 +62,7 @@ export class ExchangeSwapQuoteConsumer implements SwapQuoteConsumerBase { assert.isValidForwarderSwapQuote('quote', quote, this._getEtherTokenAssetDataOrThrow()); - const { to, methodAbi, ethAmount, params } = await this.getSmartContractParamsOrThrowAsync(quote, opts); + const { toAddress, methodAbi, ethAmount, params } = await this.getSmartContractParamsOrThrowAsync(quote, opts); const abiEncoder = new AbiEncoder.Method(methodAbi); const { orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient } = params; @@ -69,7 +69,7 @@ export class ForwarderSwapQuoteConsumer implements SwapQuoteConsumerBase { params: T; - to: string; + toAddress: string; ethAmount?: BigNumber; methodAbi: MethodAbi; } diff --git a/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts b/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts index 6b3b80d15a..ba63f88f25 100644 --- a/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts +++ b/packages/asset-swapper/test/exchange_swap_quote_consumer_test.ts @@ -151,11 +151,11 @@ describe('ExchangeSwapQuoteConsumer', () => { describe('valid swap quote', async () => { // TODO(david) Check for valid MethodAbi it('provide correct and optimized smart contract params for a marketSell SwapQuote', async () => { - const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( + const { toAddress, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( marketSellSwapQuote, {}, ); - expect(to).to.deep.equal(contractWrappers.exchange.address); + expect(toAddress).to.deep.equal(contractWrappers.exchange.address); const { takerAssetFillAmount, signatures, type } = params as ExchangeMarketSellSmartContractParams; expect(type).to.deep.equal(MarketOperation.Sell); expect(takerAssetFillAmount).to.bignumber.equal( @@ -165,11 +165,11 @@ describe('ExchangeSwapQuoteConsumer', () => { expect(signatures).to.deep.equal(orderSignatures); }); it('provide correct and optimized smart contract params for a marketBuy SwapQuote', async () => { - const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( + const { toAddress, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( marketBuySwapQuote, {}, ); - expect(to).to.deep.equal(contractWrappers.exchange.address); + expect(toAddress).to.deep.equal(contractWrappers.exchange.address); const { makerAssetFillAmount, signatures, type } = params as ExchangeMarketBuySmartContractParams; expect(type).to.deep.equal(MarketOperation.Buy); expect(makerAssetFillAmount).to.bignumber.equal( @@ -188,14 +188,14 @@ describe('ExchangeSwapQuoteConsumer', () => { let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync( + const { calldataHexString, toAddress } = await swapQuoteConsumer.getCalldataOrThrowAsync( marketSellSwapQuote, {}, ); - expect(to).to.deep.equal(contractWrappers.exchange.address); + expect(toAddress).to.deep.equal(contractWrappers.exchange.address); await web3Wrapper.sendTransactionAsync({ from: takerAddress, - to, + to: toAddress, data: calldataHexString, gas: 4000000, }); @@ -209,14 +209,14 @@ describe('ExchangeSwapQuoteConsumer', () => { let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync( + const { calldataHexString, toAddress } = await swapQuoteConsumer.getCalldataOrThrowAsync( marketBuySwapQuote, {}, ); - expect(to).to.deep.equal(contractWrappers.exchange.address); + expect(toAddress).to.deep.equal(contractWrappers.exchange.address); await web3Wrapper.sendTransactionAsync({ from: takerAddress, - to, + to: toAddress, data: calldataHexString, gas: 4000000, }); diff --git a/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts b/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts index df26f9e922..68d6178eae 100644 --- a/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts +++ b/packages/asset-swapper/test/forwarder_swap_quote_consumer_test.ts @@ -248,11 +248,11 @@ describe('ForwarderSwapQuoteConsumer', () => { describe('valid swap quote', async () => { it('provide correct and optimized smart contract params with default options for a marketSell SwapQuote (no affiliate fees)', async () => { - const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( + const { toAddress, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( marketSellSwapQuote, {}, ); - expect(to).to.deep.equal(contractWrappers.forwarder.address); + expect(toAddress).to.deep.equal(contractWrappers.forwarder.address); const { feeSignatures, feePercentage, @@ -268,11 +268,11 @@ describe('ForwarderSwapQuoteConsumer', () => { expect(feeSignatures).to.deep.equal([]); }); it('provide correct and optimized smart contract params with default options for a marketBuy SwapQuote (no affiliate fees)', async () => { - const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( + const { toAddress, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( marketBuySwapQuote, {}, ); - expect(to).to.deep.equal(contractWrappers.forwarder.address); + expect(toAddress).to.deep.equal(contractWrappers.forwarder.address); const { makerAssetFillAmount, feeSignatures, @@ -292,11 +292,14 @@ describe('ForwarderSwapQuoteConsumer', () => { expect(feeSignatures).to.deep.equal([]); }); it('provide correct and optimized smart contract params with affiliate fees for a marketSell SwapQuote', async () => { - const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketSellSwapQuote, { - feePercentage: 0.05, - feeRecipient, - }); - expect(to).to.deep.equal(contractWrappers.forwarder.address); + const { toAddress, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( + marketSellSwapQuote, + { + feePercentage: 0.05, + feeRecipient, + }, + ); + expect(toAddress).to.deep.equal(contractWrappers.forwarder.address); const { feeSignatures, feePercentage, @@ -312,11 +315,14 @@ describe('ForwarderSwapQuoteConsumer', () => { expect(feeSignatures).to.deep.equal([]); }); it('provide correct and optimized smart contract params with affiliate fees for a marketBuy SwapQuote', async () => { - const { to, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync(marketBuySwapQuote, { - feePercentage: 0.05, - feeRecipient, - }); - expect(to).to.deep.equal(contractWrappers.forwarder.address); + const { toAddress, params } = await swapQuoteConsumer.getSmartContractParamsOrThrowAsync( + marketBuySwapQuote, + { + feePercentage: 0.05, + feeRecipient, + }, + ); + expect(toAddress).to.deep.equal(contractWrappers.forwarder.address); const { makerAssetFillAmount, feeSignatures, @@ -367,14 +373,14 @@ describe('ForwarderSwapQuoteConsumer', () => { let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync( + const { calldataHexString, toAddress } = await swapQuoteConsumer.getCalldataOrThrowAsync( marketSellSwapQuote, {}, ); - expect(to).to.deep.equal(contractWrappers.forwarder.address); + expect(toAddress).to.deep.equal(contractWrappers.forwarder.address); await web3Wrapper.sendTransactionAsync({ from: takerAddress, - to, + to: toAddress, data: calldataHexString, value: marketSellSwapQuote.worstCaseQuoteInfo.totalTakerTokenAmount, gas: 4000000, @@ -389,14 +395,14 @@ describe('ForwarderSwapQuoteConsumer', () => { let takerBalance = await contractWrappers.erc20Token.getBalanceAsync(makerTokenAddress, takerAddress); expect(makerBalance).to.bignumber.equal(new BigNumber(10).multipliedBy(ONE_ETH_IN_WEI)); expect(takerBalance).to.bignumber.equal(constants.ZERO_AMOUNT); - const { calldataHexString, to } = await swapQuoteConsumer.getCalldataOrThrowAsync( + const { calldataHexString, toAddress } = await swapQuoteConsumer.getCalldataOrThrowAsync( marketBuySwapQuote, {}, ); - expect(to).to.deep.equal(contractAddresses.forwarder); + expect(toAddress).to.deep.equal(contractAddresses.forwarder); await web3Wrapper.sendTransactionAsync({ from: takerAddress, - to, + to: toAddress, data: calldataHexString, value: marketBuySwapQuote.worstCaseQuoteInfo.totalTakerTokenAmount, gas: 4000000, From dc3569392c90e46c8a2f95b32dadf7321c31b012 Mon Sep 17 00:00:00 2001 From: David Sun Date: Mon, 29 Jul 2019 17:07:16 -0700 Subject: [PATCH 066/162] updated changelog --- packages/asset-swapper/CHANGELOG.json | 14 ++++++++++++++ packages/asset-swapper/package.json | 2 +- packages/asset-swapper/src/index.ts | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/asset-swapper/CHANGELOG.json b/packages/asset-swapper/CHANGELOG.json index 153ea3e4f2..fd276277d7 100644 --- a/packages/asset-swapper/CHANGELOG.json +++ b/packages/asset-swapper/CHANGELOG.json @@ -1,4 +1,18 @@ [ + { + "timestamp": 1563193019, + "version": "1.0.0", + "changes": [ + { + "note": "Added optimization utils to consumer output", + "pr": 1988 + }, + { + "note": "Expanded test coverage", + "pr": 1980 + } + ] + }, { "timestamp": 1563957393, "version": "0.0.5", diff --git a/packages/asset-swapper/package.json b/packages/asset-swapper/package.json index 3ec963c4e9..242a733ef7 100644 --- a/packages/asset-swapper/package.json +++ b/packages/asset-swapper/package.json @@ -1,6 +1,6 @@ { "name": "@0x/asset-swapper", - "version": "0.0.5", + "version": "1.0.0", "engines": { "node": ">=6.12" }, diff --git a/packages/asset-swapper/src/index.ts b/packages/asset-swapper/src/index.ts index 3321fff960..8b0006c110 100644 --- a/packages/asset-swapper/src/index.ts +++ b/packages/asset-swapper/src/index.ts @@ -36,6 +36,7 @@ export { SwapQuote, SwapQuoteConsumerOpts, CalldataInfo, + ConsumerType, SwapQuoteGetOutputOpts, SwapQuoteExecutionOpts, SwapQuoteInfo, From 7ec232a4707b7816bbebd8267ce7b0f324e7b71a Mon Sep 17 00:00:00 2001 From: David Sun Date: Mon, 29 Jul 2019 18:42:24 -0700 Subject: [PATCH 067/162] bumped version and added to docs --- packages/asset-swapper/src/index.ts | 1 + .../forwarder_swap_quote_consumer.ts | 2 +- .../quote_consumers/swap_quote_consumer.ts | 15 +++++++ .../monorepo-scripts/src/doc_gen_configs.ts | 3 ++ .../md/docs/asset_swapper/installation.md | 18 ++++++++ .../md/docs/asset_swapper/introduction.md | 1 + .../containers/asset_swapper_documentation.ts | 42 +++++++++++++++++++ packages/website/ts/index.tsx | 7 ++++ .../ts/pages/documentation/doc_page.tsx | 1 + .../ts/pages/documentation/docs_home.tsx | 8 ++++ packages/website/ts/types.ts | 3 ++ 11 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 packages/website/md/docs/asset_swapper/installation.md create mode 100644 packages/website/md/docs/asset_swapper/introduction.md create mode 100644 packages/website/ts/containers/asset_swapper_documentation.ts diff --git a/packages/asset-swapper/src/index.ts b/packages/asset-swapper/src/index.ts index 8b0006c110..64c1d6e383 100644 --- a/packages/asset-swapper/src/index.ts +++ b/packages/asset-swapper/src/index.ts @@ -16,6 +16,7 @@ export { DataItem, StateMutability, EventParameter, + TupleDataItem, ConstructorStateMutability, } from 'ethereum-types'; diff --git a/packages/asset-swapper/src/quote_consumers/forwarder_swap_quote_consumer.ts b/packages/asset-swapper/src/quote_consumers/forwarder_swap_quote_consumer.ts index 516b78914a..fd89136938 100644 --- a/packages/asset-swapper/src/quote_consumers/forwarder_swap_quote_consumer.ts +++ b/packages/asset-swapper/src/quote_consumers/forwarder_swap_quote_consumer.ts @@ -77,7 +77,7 @@ export class ForwarderSwapQuoteConsumer implements SwapQuoteConsumerBase, @@ -53,6 +58,11 @@ export class SwapQuoteConsumer implements SwapQuoteConsumerBase, @@ -62,6 +72,11 @@ export class SwapQuoteConsumer implements SwapQuoteConsumerBase, diff --git a/packages/monorepo-scripts/src/doc_gen_configs.ts b/packages/monorepo-scripts/src/doc_gen_configs.ts index c209d1f588..fa510b56e5 100644 --- a/packages/monorepo-scripts/src/doc_gen_configs.ts +++ b/packages/monorepo-scripts/src/doc_gen_configs.ts @@ -25,6 +25,9 @@ export const docGenConfigs: DocGenConfigs = { 'https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/ganache-core/index.d.ts#L8', 'lightwallet.keystore': 'https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/eth-lightwallet/index.d.ts#L36', + // HACK: Asset-swapper specifies marketSell and marketBuy quotes with a descriminant MarketOperation Type to ignore the error, linking Buy and Sell to MarketOperation + Buy: 'https://github.com/0xProject/0x-monorepo/blob/development/packages/types/src/index.ts', + Sell: 'https://github.com/0xProject/0x-monorepo/blob/development/packages/types/src/index.ts', }, // If a 0x package re-exports an external package, we should add a link to it's exported items here EXTERNAL_EXPORT_TO_LINK: { diff --git a/packages/website/md/docs/asset_swapper/installation.md b/packages/website/md/docs/asset_swapper/installation.md new file mode 100644 index 0000000000..113590ac84 --- /dev/null +++ b/packages/website/md/docs/asset_swapper/installation.md @@ -0,0 +1,18 @@ +#### Install + +```bash +yarn add @0x/asset-swapper +``` + +#### Import + +```javascript +import { SwapQuoter, SwapQuoteConsumer } from '@0x/asset-swapper'; +``` + +or + +```javascript +var SwapQuoter = require('@0x/asset-swapper').SwapQuoter; +var SwapQuoteConsumer = require('@0x/asset-swapper').SwapQuoteConsumer; +``` diff --git a/packages/website/md/docs/asset_swapper/introduction.md b/packages/website/md/docs/asset_swapper/introduction.md new file mode 100644 index 0000000000..a696a68241 --- /dev/null +++ b/packages/website/md/docs/asset_swapper/introduction.md @@ -0,0 +1 @@ +Welcome to the [asset-swapper](https://github.com/0xProject/0x-monorepo/tree/development/packages/asset-swapper) documentation! Asset-swapper is a library that provides an easy way to swap any ERC asset for another ERC asset for smart contract integrations, leveraging 0x liquidity. diff --git a/packages/website/ts/containers/asset_swapper_documentation.ts b/packages/website/ts/containers/asset_swapper_documentation.ts new file mode 100644 index 0000000000..f632bb2ab9 --- /dev/null +++ b/packages/website/ts/containers/asset_swapper_documentation.ts @@ -0,0 +1,42 @@ +import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; +import * as React from 'react'; +import { connect } from 'react-redux'; +import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; +import { DocPackages } from 'ts/types'; + +import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; + +/* tslint:disable:no-var-requires */ +const IntroMarkdown = require('md/docs/asset_swapper/introduction'); +const InstallationMarkdown = require('md/docs/asset_swapper/installation'); +/* tslint:enable:no-var-requires */ + +const markdownSections = { + introduction: 'introduction', + installation: 'installation', +}; + +const docsInfoConfig: DocsInfoConfig = { + id: DocPackages.AssetSwapper, + packageName: '@0x/asset-swapper', + type: SupportedDocJson.TypeDoc, + displayName: 'AssetSwapper', + packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/asset-swapper', + markdownMenu: { + introduction: [markdownSections.introduction], + install: [markdownSections.installation], + }, + sectionNameToMarkdownByVersion: { + '0.0.1': { + [markdownSections.introduction]: IntroMarkdown, + [markdownSections.installation]: InstallationMarkdown, + }, + }, + markdownSections, +}; +const mapStateToProps = getMapStateToProps(docsInfoConfig); + +export const Documentation: React.ComponentClass = connect( + mapStateToProps, + mapDispatchToProps, +)(DocPageComponent); diff --git a/packages/website/ts/index.tsx b/packages/website/ts/index.tsx index dfe7bac067..6b45ee9ae2 100644 --- a/packages/website/ts/index.tsx +++ b/packages/website/ts/index.tsx @@ -95,6 +95,9 @@ const LazyEthereumTypesDocumentation = createLazyComponent('Documentation', asyn const LazyAssetBuyerDocumentation = createLazyComponent('Documentation', async () => import(/* webpackChunkName: "assetBuyerDocs" */ 'ts/containers/asset_buyer_documentation'), ); +const LazyAssetSwapperDocumentation = createLazyComponent('Documentation', async () => + import(/* webpackChunkName: "assetSwapperDocs" */ 'ts/containers/asset_swapper_documentation'), +); const DOCUMENT_TITLE = '0x: The Protocol for Trading Tokens'; const DOCUMENT_DESCRIPTION = 'An Open Protocol For Decentralized Exchange On The Ethereum Blockchain'; @@ -204,6 +207,10 @@ render( path={`${WebsitePaths.AssetBuyer}/:version?`} component={LazyAssetBuyerDocumentation} /> + {/* Legacy endpoints */} = { to: WebsitePaths.AssetBuyer, }, }, + { + description: + 'Coonvenience package for discovering and performing swaps for any ERC20 Assets', + link: { + title: '@0x/asset-swapper', + to: WebsitePaths.AssetSwapper, + }, + }, ], [Categories.ZeroExProtocolPython]: [ { diff --git a/packages/website/ts/types.ts b/packages/website/ts/types.ts index ffe1478309..b88a37d1ba 100644 --- a/packages/website/ts/types.ts +++ b/packages/website/ts/types.ts @@ -473,6 +473,7 @@ export enum WebsitePaths { OrderUtils = '/docs/order-utils', EthereumTypes = '/docs/ethereum-types', AssetBuyer = '/docs/asset-buyer', + AssetSwapper = '/docs/asset-swapper', Migrations = '/docs/migrations', Careers = '/careers', Credits = '/credits', @@ -497,6 +498,7 @@ export enum DocPackages { ContractWrappers = 'CONTRACT_WRAPPERS', OrderWatcher = 'ORDER_WATCHER', AssetBuyer = 'ASSET_BUYER', + AssetSwapper = 'ASSET_SWAPPER', Migrations = 'MIGRATIONS', } @@ -560,6 +562,7 @@ export enum Key { ContractWrappers = 'CONTRACT_WRAPPERS', OrderWatcher = 'ORDER_WATCHER', AssetBuyer = 'ASSET_BUYER', + AssetSwapper = 'ASSET_SWAPPER', Blog = 'BLOG', Forum = 'FORUM', Connect = 'CONNECT', From ed44e16a95027e5eb4f70cc6b853eb24f2a93497 Mon Sep 17 00:00:00 2001 From: David Sun Date: Tue, 30 Jul 2019 10:47:58 -0700 Subject: [PATCH 068/162] prettier --- packages/website/ts/pages/documentation/docs_home.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/website/ts/pages/documentation/docs_home.tsx b/packages/website/ts/pages/documentation/docs_home.tsx index 36cbd1878f..4b3d648767 100644 --- a/packages/website/ts/pages/documentation/docs_home.tsx +++ b/packages/website/ts/pages/documentation/docs_home.tsx @@ -173,8 +173,7 @@ const CATEGORY_TO_PACKAGES: ObjectMap = { }, }, { - description: - 'Coonvenience package for discovering and performing swaps for any ERC20 Assets', + description: 'Coonvenience package for discovering and performing swaps for any ERC20 Assets', link: { title: '@0x/asset-swapper', to: WebsitePaths.AssetSwapper, From 9d12462893a54eb416f29856689e3d43da4b9176 Mon Sep 17 00:00:00 2001 From: David Sun Date: Tue, 30 Jul 2019 11:48:17 -0700 Subject: [PATCH 069/162] updated comments in SwapQuoter --- packages/0x.js/package.json | 1 + packages/asset-swapper/src/index.ts | 1 - packages/asset-swapper/src/swap_quoter.ts | 5 +++ yarn.lock | 46 ++++++++++++++++++++++- 4 files changed, 51 insertions(+), 2 deletions(-) diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json index 6edfc4400d..c5f68ef8fc 100644 --- a/packages/0x.js/package.json +++ b/packages/0x.js/package.json @@ -74,6 +74,7 @@ }, "dependencies": { "@0x/assert": "^2.1.1", + "@0x/asset-swapper": "^0.0.5", "@0x/base-contract": "^5.1.2", "@0x/contract-wrappers": "^9.1.8", "@0x/order-utils": "^8.2.3", diff --git a/packages/asset-swapper/src/index.ts b/packages/asset-swapper/src/index.ts index 64c1d6e383..079a38e4c6 100644 --- a/packages/asset-swapper/src/index.ts +++ b/packages/asset-swapper/src/index.ts @@ -20,7 +20,6 @@ export { ConstructorStateMutability, } from 'ethereum-types'; -// TODO(dave4506): if this lives under the 0x.js library, then these type exports should be removed in favor of minimizing redundancy export { SignedOrder } from '@0x/types'; export { BigNumber } from '@0x/utils'; diff --git a/packages/asset-swapper/src/swap_quoter.ts b/packages/asset-swapper/src/swap_quoter.ts index d48c6d303a..d1d60ca756 100644 --- a/packages/asset-swapper/src/swap_quoter.ts +++ b/packages/asset-swapper/src/swap_quoter.ts @@ -373,6 +373,11 @@ export class SwapQuoter { return ordersAndFillableAmounts; } + /** + * Util function to check if takerAddress's allowance is enough for 0x exchange contracts to conduct the swap specified by the swapQuote. + * @param swapQuote The swapQuote in question to check enough allowance enabled for 0x exchange contracts to conduct the swap. + * @param takerAddress The address of the taker of the provided swapQuote + */ public async isTakerAddressAllowanceEnoughForBestAndWorstQuoteInfoAsync( swapQuote: SwapQuote, takerAddress: string, diff --git a/yarn.lock b/yarn.lock index 2f2042db25..aabce694cf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -672,6 +672,28 @@ ethereum-types "^2.1.2" lodash "^4.17.11" +"@0x/asset-swapper@^0.0.5": + version "0.0.5" + resolved "https://registry.yarnpkg.com/@0x/asset-swapper/-/asset-swapper-0.0.5.tgz#8f0493f5496e7ad50d09173a6809c8f0ae3683c3" + integrity sha512-Juah8/smjoTWIJlJ2iJkrfCJTKgdAOqGV4KvV4Uyd/+RADtgPyHXRHaz13h3v6BzRmDOPVWTunYXUR53AR8PZw== + dependencies: + "@0x/assert" "^2.1.1" + "@0x/connect" "^5.0.14" + "@0x/contract-addresses" "^3.0.2" + "@0x/contract-wrappers" "^9.1.8" + "@0x/dev-utils" "^2.2.5" + "@0x/fill-scenarios" "^3.0.14" + "@0x/json-schemas" "^3.1.11" + "@0x/migrations" "^4.1.10" + "@0x/order-utils" "^8.2.3" + "@0x/subproviders" "^4.1.2" + "@0x/types" "^2.4.1" + "@0x/typescript-typings" "^4.2.4" + "@0x/utils" "^4.4.1" + "@0x/web3-wrapper" "^6.0.8" + ethereum-types "^2.1.4" + lodash "^4.17.11" + "@0x/base-contract@^4.0.1", "@0x/base-contract@^4.0.3": version "4.0.3" resolved "https://registry.yarnpkg.com/@0x/base-contract/-/base-contract-4.0.3.tgz#ea5e3640824ee096813350e55546d98455a57805" @@ -8496,10 +8518,27 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -graceful-fs@4.1.15, graceful-fs@^3.0.0, graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@~1.2.0: +graceful-fs@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" + integrity sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg= + dependencies: + natives "^1.1.0" + +graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" +graceful-fs@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" + integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== + +graceful-fs@~1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" + integrity sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q= + "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -12066,6 +12105,11 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +natives@^1.1.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb" + integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" From 918ef137141ee72e5e32452425d49d0ded46aedf Mon Sep 17 00:00:00 2001 From: David Sun Date: Tue, 30 Jul 2019 16:48:46 -0700 Subject: [PATCH 070/162] details --- packages/website/ts/pages/documentation/docs_home.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/website/ts/pages/documentation/docs_home.tsx b/packages/website/ts/pages/documentation/docs_home.tsx index 4b3d648767..6ad8a880a3 100644 --- a/packages/website/ts/pages/documentation/docs_home.tsx +++ b/packages/website/ts/pages/documentation/docs_home.tsx @@ -168,12 +168,12 @@ const CATEGORY_TO_PACKAGES: ObjectMap = { description: 'Convenience package for buying assets represented on the Ethereum blockchain using 0x. In its simplest form, the package helps in the usage of the [0x forwarder contract](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/forwarder-specification.md), which allows users to execute [Wrapped Ether](https://weth.io/) based 0x orders without having to set allowances, wrap Ether or own ZRX, meaning they can buy tokens with Ether alone. Given some liquidity (0x signed orders), it helps estimate the Ether cost of buying a certain asset (giving a range) and then buying that asset.', link: { - title: '@0x/asset-buyer', + title: '@0x/asset-buyer [Deprecated]', to: WebsitePaths.AssetBuyer, }, }, { - description: 'Coonvenience package for discovering and performing swaps for any ERC20 Assets', + description: 'Convenience package for discovering and performing swaps for any ERC Assets', link: { title: '@0x/asset-swapper', to: WebsitePaths.AssetSwapper, From 9cc27c7d1b6d2f7d8a28fdd67340bc0b4a4ec421 Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 31 Jul 2019 10:14:31 -0700 Subject: [PATCH 071/162] Removed react-docs from asset_swapper --- packages/website/ts/containers/asset_swapper_documentation.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/website/ts/containers/asset_swapper_documentation.ts b/packages/website/ts/containers/asset_swapper_documentation.ts index f632bb2ab9..e6d4a8b431 100644 --- a/packages/website/ts/containers/asset_swapper_documentation.ts +++ b/packages/website/ts/containers/asset_swapper_documentation.ts @@ -1,8 +1,7 @@ -import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs'; import * as React from 'react'; import { connect } from 'react-redux'; import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; -import { DocPackages } from 'ts/types'; +import { DocPackages, DocsInfoConfig, SupportedDocJson } from 'ts/types'; import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container'; From b97ba3527906db70138bfabcc653b70135732a39 Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 31 Jul 2019 13:35:49 -0700 Subject: [PATCH 072/162] Updated CHANGELOGS --- contracts/asset-proxy/CHANGELOG.json | 3 +- contracts/asset-proxy/CHANGELOG.md | 4 ++ contracts/coordinator/CHANGELOG.json | 3 +- contracts/coordinator/CHANGELOG.md | 4 ++ contracts/dev-utils/CHANGELOG.json | 3 +- contracts/dev-utils/CHANGELOG.md | 4 ++ contracts/erc1155/CHANGELOG.json | 3 +- contracts/erc1155/CHANGELOG.md | 4 ++ contracts/erc20/CHANGELOG.json | 3 +- contracts/erc20/CHANGELOG.md | 4 ++ contracts/erc721/CHANGELOG.json | 3 +- contracts/erc721/CHANGELOG.md | 4 ++ contracts/exchange-forwarder/CHANGELOG.json | 3 +- contracts/exchange-forwarder/CHANGELOG.md | 4 ++ contracts/exchange-libs/CHANGELOG.json | 3 +- contracts/exchange-libs/CHANGELOG.md | 4 ++ contracts/exchange/CHANGELOG.json | 3 +- contracts/exchange/CHANGELOG.md | 4 ++ contracts/extensions/CHANGELOG.json | 3 +- contracts/extensions/CHANGELOG.md | 4 ++ contracts/multisig/CHANGELOG.json | 3 +- contracts/multisig/CHANGELOG.md | 4 ++ contracts/test-utils/CHANGELOG.json | 9 +++ contracts/test-utils/CHANGELOG.md | 4 ++ contracts/utils/CHANGELOG.json | 3 +- contracts/utils/CHANGELOG.md | 5 ++ packages/0x.js/CHANGELOG.json | 9 +++ packages/0x.js/CHANGELOG.md | 4 ++ packages/abi-gen-templates/CHANGELOG.json | 3 +- packages/abi-gen-templates/CHANGELOG.md | 5 ++ packages/abi-gen-wrappers/CHANGELOG.json | 3 +- packages/abi-gen-wrappers/CHANGELOG.md | 4 ++ packages/abi-gen/CHANGELOG.json | 9 +++ packages/abi-gen/CHANGELOG.md | 4 ++ packages/assert/CHANGELOG.json | 9 +++ packages/assert/CHANGELOG.md | 4 ++ packages/asset-buyer/CHANGELOG.json | 9 +++ packages/asset-buyer/CHANGELOG.md | 4 ++ packages/asset-swapper/CHANGELOG.json | 4 +- packages/asset-swapper/CHANGELOG.md | 8 ++- packages/asset-swapper/package.json | 2 +- packages/base-contract/CHANGELOG.json | 3 +- packages/base-contract/CHANGELOG.md | 9 +++ packages/connect/CHANGELOG.json | 9 +++ packages/connect/CHANGELOG.md | 4 ++ packages/contract-artifacts/CHANGELOG.json | 9 +++ packages/contract-artifacts/CHANGELOG.md | 4 ++ packages/contract-wrappers/CHANGELOG.json | 3 +- packages/contract-wrappers/CHANGELOG.md | 9 +++ packages/contracts-gen/CHANGELOG.json | 9 +++ packages/contracts-gen/CHANGELOG.md | 4 ++ packages/dev-utils/CHANGELOG.json | 9 +++ packages/dev-utils/CHANGELOG.md | 4 ++ packages/fill-scenarios/CHANGELOG.json | 9 +++ packages/fill-scenarios/CHANGELOG.md | 4 ++ packages/json-schemas/CHANGELOG.json | 9 +++ packages/json-schemas/CHANGELOG.md | 4 ++ packages/migrations/CHANGELOG.json | 3 +- packages/migrations/CHANGELOG.md | 4 ++ packages/order-utils/CHANGELOG.json | 3 +- packages/order-utils/CHANGELOG.md | 4 ++ packages/order-watcher/CHANGELOG.json | 9 +++ packages/order-watcher/CHANGELOG.md | 4 ++ packages/sol-compiler/CHANGELOG.json | 9 +++ packages/sol-compiler/CHANGELOG.md | 4 ++ packages/sol-coverage/CHANGELOG.json | 9 +++ packages/sol-coverage/CHANGELOG.md | 4 ++ packages/sol-doc/CHANGELOG.json | 9 +++ packages/sol-doc/CHANGELOG.md | 4 ++ packages/sol-profiler/CHANGELOG.json | 9 +++ packages/sol-profiler/CHANGELOG.md | 4 ++ packages/sol-trace/CHANGELOG.json | 9 +++ packages/sol-trace/CHANGELOG.md | 4 ++ packages/sol-tracing-utils/CHANGELOG.json | 9 +++ packages/sol-tracing-utils/CHANGELOG.md | 4 ++ packages/sra-spec/CHANGELOG.json | 9 +++ packages/sra-spec/CHANGELOG.md | 4 ++ packages/subproviders/CHANGELOG.json | 3 +- packages/subproviders/CHANGELOG.md | 4 ++ packages/utils/CHANGELOG.json | 9 +++ packages/utils/CHANGELOG.md | 4 ++ packages/web3-wrapper/CHANGELOG.json | 9 +++ packages/web3-wrapper/CHANGELOG.md | 4 ++ yarn.lock | 65 ++++----------------- 84 files changed, 420 insertions(+), 77 deletions(-) diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index bacae283f3..6984612451 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/contracts/asset-proxy/CHANGELOG.md b/contracts/asset-proxy/CHANGELOG.md index 88cb8ef461..ba575f2f02 100644 --- a/contracts/asset-proxy/CHANGELOG.md +++ b/contracts/asset-proxy/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.2.4 - _July 31, 2019_ + + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) + ## v2.2.3 - _July 24, 2019_ * Dependencies updated diff --git a/contracts/coordinator/CHANGELOG.json b/contracts/coordinator/CHANGELOG.json index e0b850a28b..e8dcaa7a37 100644 --- a/contracts/coordinator/CHANGELOG.json +++ b/contracts/coordinator/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/contracts/coordinator/CHANGELOG.md b/contracts/coordinator/CHANGELOG.md index c07afc39e1..0778c948ab 100644 --- a/contracts/coordinator/CHANGELOG.md +++ b/contracts/coordinator/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.9 - _July 31, 2019_ + + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) + ## v2.0.8 - _July 24, 2019_ * Dependencies updated diff --git a/contracts/dev-utils/CHANGELOG.json b/contracts/dev-utils/CHANGELOG.json index 5008c1e250..e46e0a8421 100644 --- a/contracts/dev-utils/CHANGELOG.json +++ b/contracts/dev-utils/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/contracts/dev-utils/CHANGELOG.md b/contracts/dev-utils/CHANGELOG.md index 149be204cf..db58ba3cdc 100644 --- a/contracts/dev-utils/CHANGELOG.md +++ b/contracts/dev-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v0.0.6 - _July 31, 2019_ + + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) + ## v0.0.5 - _July 24, 2019_ * Dependencies updated diff --git a/contracts/erc1155/CHANGELOG.json b/contracts/erc1155/CHANGELOG.json index 2467578051..2a59d88382 100644 --- a/contracts/erc1155/CHANGELOG.json +++ b/contracts/erc1155/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/contracts/erc1155/CHANGELOG.md b/contracts/erc1155/CHANGELOG.md index 64e1afc8d7..7f387bbe45 100644 --- a/contracts/erc1155/CHANGELOG.md +++ b/contracts/erc1155/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v1.1.11 - _July 31, 2019_ + + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) + ## v1.1.10 - _July 24, 2019_ * Dependencies updated diff --git a/contracts/erc20/CHANGELOG.json b/contracts/erc20/CHANGELOG.json index c6eb414b52..f4fd710311 100644 --- a/contracts/erc20/CHANGELOG.json +++ b/contracts/erc20/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/contracts/erc20/CHANGELOG.md b/contracts/erc20/CHANGELOG.md index dd972fcd05..95538bafa6 100644 --- a/contracts/erc20/CHANGELOG.md +++ b/contracts/erc20/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.2.10 - _July 31, 2019_ + + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) + ## v2.2.9 - _July 24, 2019_ * Dependencies updated diff --git a/contracts/erc721/CHANGELOG.json b/contracts/erc721/CHANGELOG.json index c4b04e2b33..16cff631ac 100644 --- a/contracts/erc721/CHANGELOG.json +++ b/contracts/erc721/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/contracts/erc721/CHANGELOG.md b/contracts/erc721/CHANGELOG.md index 55daf35a63..56ad2922a3 100644 --- a/contracts/erc721/CHANGELOG.md +++ b/contracts/erc721/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.11 - _July 31, 2019_ + + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) + ## v2.1.10 - _July 24, 2019_ * Dependencies updated diff --git a/contracts/exchange-forwarder/CHANGELOG.json b/contracts/exchange-forwarder/CHANGELOG.json index 0ab43b00e5..a0c9b19ca9 100644 --- a/contracts/exchange-forwarder/CHANGELOG.json +++ b/contracts/exchange-forwarder/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/contracts/exchange-forwarder/CHANGELOG.md b/contracts/exchange-forwarder/CHANGELOG.md index c8f5f13699..c70ef3f79f 100644 --- a/contracts/exchange-forwarder/CHANGELOG.md +++ b/contracts/exchange-forwarder/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.0.8 - _July 31, 2019_ + + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) + ## v3.0.7 - _July 24, 2019_ * Dependencies updated diff --git a/contracts/exchange-libs/CHANGELOG.json b/contracts/exchange-libs/CHANGELOG.json index 6b10657a53..8a787cfed0 100644 --- a/contracts/exchange-libs/CHANGELOG.json +++ b/contracts/exchange-libs/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/contracts/exchange-libs/CHANGELOG.md b/contracts/exchange-libs/CHANGELOG.md index a6cdcbcfbb..c513fcd8bb 100644 --- a/contracts/exchange-libs/CHANGELOG.md +++ b/contracts/exchange-libs/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.0.4 - _July 31, 2019_ + + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) + ## v3.0.3 - _July 24, 2019_ * Dependencies updated diff --git a/contracts/exchange/CHANGELOG.json b/contracts/exchange/CHANGELOG.json index aec0453f09..750b38cac6 100644 --- a/contracts/exchange/CHANGELOG.json +++ b/contracts/exchange/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/contracts/exchange/CHANGELOG.md b/contracts/exchange/CHANGELOG.md index 16d81d6461..0b52f745ef 100644 --- a/contracts/exchange/CHANGELOG.md +++ b/contracts/exchange/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.10 - _July 31, 2019_ + + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) + ## v2.1.9 - _July 24, 2019_ * Dependencies updated diff --git a/contracts/extensions/CHANGELOG.json b/contracts/extensions/CHANGELOG.json index 88d1b84925..aaa42804c0 100644 --- a/contracts/extensions/CHANGELOG.json +++ b/contracts/extensions/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/contracts/extensions/CHANGELOG.md b/contracts/extensions/CHANGELOG.md index 59c39d1ca5..5730b4d823 100644 --- a/contracts/extensions/CHANGELOG.md +++ b/contracts/extensions/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.0.4 - _July 31, 2019_ + + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) + ## v4.0.3 - _July 24, 2019_ * Dependencies updated diff --git a/contracts/multisig/CHANGELOG.json b/contracts/multisig/CHANGELOG.json index f0b0252ff7..3b0d15f60e 100644 --- a/contracts/multisig/CHANGELOG.json +++ b/contracts/multisig/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/contracts/multisig/CHANGELOG.md b/contracts/multisig/CHANGELOG.md index 6323f4107e..8fd48c92af 100644 --- a/contracts/multisig/CHANGELOG.md +++ b/contracts/multisig/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.10 - _July 31, 2019_ + + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) + ## v3.1.9 - _July 24, 2019_ * Dependencies updated diff --git a/contracts/test-utils/CHANGELOG.json b/contracts/test-utils/CHANGELOG.json index ee41c7d9e9..e5c417be51 100644 --- a/contracts/test-utils/CHANGELOG.json +++ b/contracts/test-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "3.1.12", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "3.1.11", diff --git a/contracts/test-utils/CHANGELOG.md b/contracts/test-utils/CHANGELOG.md index 3ab312d1a9..4c6343bd00 100644 --- a/contracts/test-utils/CHANGELOG.md +++ b/contracts/test-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.12 - _July 31, 2019_ + + * Dependencies updated + ## v3.1.11 - _July 24, 2019_ * Dependencies updated diff --git a/contracts/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index f3b4c95b34..674f9d4dc3 100644 --- a/contracts/utils/CHANGELOG.json +++ b/contracts/utils/CHANGELOG.json @@ -10,7 +10,8 @@ "note": "Added tests for decoding log arguments when artifact dependencies are included/excluded.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/contracts/utils/CHANGELOG.md b/contracts/utils/CHANGELOG.md index e2fb417cde..dad42c7e32 100644 --- a/contracts/utils/CHANGELOG.md +++ b/contracts/utils/CHANGELOG.md @@ -5,6 +5,11 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.2.0 - _July 31, 2019_ + + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) + * Added tests for decoding log arguments when artifact dependencies are included/excluded. (#1995) + ## v3.1.10 - _July 24, 2019_ * Dependencies updated diff --git a/packages/0x.js/CHANGELOG.json b/packages/0x.js/CHANGELOG.json index 7fde315b0f..c0e414f56c 100644 --- a/packages/0x.js/CHANGELOG.json +++ b/packages/0x.js/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "6.0.14", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "6.0.13", "changes": [ diff --git a/packages/0x.js/CHANGELOG.md b/packages/0x.js/CHANGELOG.md index 793585dbc7..3e9992ac71 100644 --- a/packages/0x.js/CHANGELOG.md +++ b/packages/0x.js/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v6.0.14 - _July 31, 2019_ + + * Dependencies updated + ## v6.0.13 - _July 24, 2019_ * re-export new ethereum-types type, TupleDataItem (#1919) diff --git a/packages/abi-gen-templates/CHANGELOG.json b/packages/abi-gen-templates/CHANGELOG.json index 05a8b3878e..8547368f24 100644 --- a/packages/abi-gen-templates/CHANGELOG.json +++ b/packages/abi-gen-templates/CHANGELOG.json @@ -10,7 +10,8 @@ "note": "Updated interface to `deployAsync` to include log decode dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "version": "2.3.0", diff --git a/packages/abi-gen-templates/CHANGELOG.md b/packages/abi-gen-templates/CHANGELOG.md index faaab2a2fa..a05f3822ee 100644 --- a/packages/abi-gen-templates/CHANGELOG.md +++ b/packages/abi-gen-templates/CHANGELOG.md @@ -5,6 +5,11 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.4.0 - _July 31, 2019_ + + * Updated interface to `deployFrom0xArtifactAsync` to include log decode dependencies. (#1995) + * Updated interface to `deployAsync` to include log decode dependencies. (#1995) + ## v2.3.0 - _July 24, 2019_ * Python: fix broken event handling (#1919) diff --git a/packages/abi-gen-wrappers/CHANGELOG.json b/packages/abi-gen-wrappers/CHANGELOG.json index efe4f57227..420a0e0ea1 100644 --- a/packages/abi-gen-wrappers/CHANGELOG.json +++ b/packages/abi-gen-wrappers/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Add subscribe/unsubscribe methods for events", "pr": 1970 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/packages/abi-gen-wrappers/CHANGELOG.md b/packages/abi-gen-wrappers/CHANGELOG.md index 14f1e1e0a7..f1f22370d3 100644 --- a/packages/abi-gen-wrappers/CHANGELOG.md +++ b/packages/abi-gen-wrappers/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.1.0 - _July 31, 2019_ + + * Add subscribe/unsubscribe methods for events (#1970) + ## v5.0.3 - _July 24, 2019_ * Dependencies updated diff --git a/packages/abi-gen/CHANGELOG.json b/packages/abi-gen/CHANGELOG.json index fabb9ff061..4ea1b6c6ce 100644 --- a/packages/abi-gen/CHANGELOG.json +++ b/packages/abi-gen/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "3.1.2", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "3.1.1", "changes": [ diff --git a/packages/abi-gen/CHANGELOG.md b/packages/abi-gen/CHANGELOG.md index 824418b533..ba1d85de60 100644 --- a/packages/abi-gen/CHANGELOG.md +++ b/packages/abi-gen/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.2 - _July 31, 2019_ + + * Dependencies updated + ## v3.1.1 - _July 24, 2019_ * Python method parameters are now in snake case (#1919) diff --git a/packages/assert/CHANGELOG.json b/packages/assert/CHANGELOG.json index 64b85ff3eb..3f8e781ea7 100644 --- a/packages/assert/CHANGELOG.json +++ b/packages/assert/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "2.1.2", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "2.1.1", diff --git a/packages/assert/CHANGELOG.md b/packages/assert/CHANGELOG.md index a8c4a84435..7ddbf203f2 100644 --- a/packages/assert/CHANGELOG.md +++ b/packages/assert/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.2 - _July 31, 2019_ + + * Dependencies updated + ## v2.1.1 - _July 24, 2019_ * Dependencies updated diff --git a/packages/asset-buyer/CHANGELOG.json b/packages/asset-buyer/CHANGELOG.json index fe644425fe..1f4c76f09f 100644 --- a/packages/asset-buyer/CHANGELOG.json +++ b/packages/asset-buyer/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "6.1.10", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "6.1.9", diff --git a/packages/asset-buyer/CHANGELOG.md b/packages/asset-buyer/CHANGELOG.md index dc1903e5ce..fec798dfaf 100644 --- a/packages/asset-buyer/CHANGELOG.md +++ b/packages/asset-buyer/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v6.1.10 - _July 31, 2019_ + + * Dependencies updated + ## v6.1.9 - _July 24, 2019_ * Dependencies updated diff --git a/packages/asset-swapper/CHANGELOG.json b/packages/asset-swapper/CHANGELOG.json index fd276277d7..cd297b6ee0 100644 --- a/packages/asset-swapper/CHANGELOG.json +++ b/packages/asset-swapper/CHANGELOG.json @@ -1,6 +1,5 @@ [ { - "timestamp": 1563193019, "version": "1.0.0", "changes": [ { @@ -11,7 +10,8 @@ "note": "Expanded test coverage", "pr": 1980 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/packages/asset-swapper/CHANGELOG.md b/packages/asset-swapper/CHANGELOG.md index b3887206d9..2b05ba5342 100644 --- a/packages/asset-swapper/CHANGELOG.md +++ b/packages/asset-swapper/CHANGELOG.md @@ -5,13 +5,19 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v1.0.0 - _July 31, 2019_ + + * Added optimization utils to consumer output (#1988) + * Expanded test coverage (#1980) + ## v0.0.5 - _July 24, 2019_ * Dependencies updated ## v0.0.4 - _July 15, 2019_ - * Dependencies updated + * Switched MarketOperation type to enum and expanded default constants configuration (#1959) + * Added additional options to control asset-swapper behavior and optimized consumer output (#1966) ## v0.0.3 - _July 13, 2019_ diff --git a/packages/asset-swapper/package.json b/packages/asset-swapper/package.json index 242a733ef7..3ec963c4e9 100644 --- a/packages/asset-swapper/package.json +++ b/packages/asset-swapper/package.json @@ -1,6 +1,6 @@ { "name": "@0x/asset-swapper", - "version": "1.0.0", + "version": "0.0.5", "engines": { "node": ">=6.12" }, diff --git a/packages/base-contract/CHANGELOG.json b/packages/base-contract/CHANGELOG.json index 19faddc6aa..9651db6c3a 100644 --- a/packages/base-contract/CHANGELOG.json +++ b/packages/base-contract/CHANGELOG.json @@ -10,7 +10,8 @@ "note": "Updated interface to `deployAsync` to include log decode dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "version": "5.2.0", diff --git a/packages/base-contract/CHANGELOG.md b/packages/base-contract/CHANGELOG.md index 7d0d3f80b8..6cabfa95e7 100644 --- a/packages/base-contract/CHANGELOG.md +++ b/packages/base-contract/CHANGELOG.md @@ -5,6 +5,15 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.3.0 - _July 31, 2019_ + + * Updated interface to `deployFrom0xArtifactAsync` to include log decode dependencies. (#1995) + * Updated interface to `deployAsync` to include log decode dependencies. (#1995) + +## v5.2.0 - _Invalid date_ + + * Add SubscriptionManager (#1970) + ## v5.1.2 - _July 24, 2019_ * Dependencies updated diff --git a/packages/connect/CHANGELOG.json b/packages/connect/CHANGELOG.json index f198af4d9f..ab932949c9 100644 --- a/packages/connect/CHANGELOG.json +++ b/packages/connect/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "5.0.15", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "5.0.14", diff --git a/packages/connect/CHANGELOG.md b/packages/connect/CHANGELOG.md index 8a3973346c..b4ff2de5f9 100644 --- a/packages/connect/CHANGELOG.md +++ b/packages/connect/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.0.15 - _July 31, 2019_ + + * Dependencies updated + ## v5.0.14 - _July 24, 2019_ * Dependencies updated diff --git a/packages/contract-artifacts/CHANGELOG.json b/packages/contract-artifacts/CHANGELOG.json index 681f3c84c1..ff731bdca3 100644 --- a/packages/contract-artifacts/CHANGELOG.json +++ b/packages/contract-artifacts/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "2.0.3", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "2.0.2", diff --git a/packages/contract-artifacts/CHANGELOG.md b/packages/contract-artifacts/CHANGELOG.md index 6ced3eded8..d789e92439 100644 --- a/packages/contract-artifacts/CHANGELOG.md +++ b/packages/contract-artifacts/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.3 - _July 31, 2019_ + + * Dependencies updated + ## v2.0.2 - _July 24, 2019_ * Dependencies updated diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index 6a9011b151..abdffb1266 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -10,7 +10,8 @@ "note": "Updated interface to `deployAsync` to include log decode dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "version": "10.0.0", diff --git a/packages/contract-wrappers/CHANGELOG.md b/packages/contract-wrappers/CHANGELOG.md index fbdfd05bed..14fbaf8017 100644 --- a/packages/contract-wrappers/CHANGELOG.md +++ b/packages/contract-wrappers/CHANGELOG.md @@ -5,6 +5,15 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v10.1.0 - _July 31, 2019_ + + * Updated interface to `deployFrom0xArtifactAsync` to include log decode dependencies. (#1995) + * Updated interface to `deployAsync` to include log decode dependencies. (#1995) + +## v10.0.0 - _Invalid date_ + + * Constructors for `ERC20TokenWrapper`, `ERC721TokenWrapper`, and `EtherTokenWrapper` no longer accept networkId (#1970) + ## v9.1.8 - _July 24, 2019_ * re-export new ethereum-types type, TupleDataItem (#1919) diff --git a/packages/contracts-gen/CHANGELOG.json b/packages/contracts-gen/CHANGELOG.json index 5d37962df7..624fec8521 100644 --- a/packages/contracts-gen/CHANGELOG.json +++ b/packages/contracts-gen/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "1.0.12", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "1.0.11", diff --git a/packages/contracts-gen/CHANGELOG.md b/packages/contracts-gen/CHANGELOG.md index 2db755e81e..9a8000d137 100644 --- a/packages/contracts-gen/CHANGELOG.md +++ b/packages/contracts-gen/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v1.0.12 - _July 31, 2019_ + + * Dependencies updated + ## v1.0.11 - _July 24, 2019_ * Dependencies updated diff --git a/packages/dev-utils/CHANGELOG.json b/packages/dev-utils/CHANGELOG.json index 465e11b2a8..b585824eef 100644 --- a/packages/dev-utils/CHANGELOG.json +++ b/packages/dev-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "2.2.6", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "2.2.5", diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md index 4bb9520ead..3b2cd105a8 100644 --- a/packages/dev-utils/CHANGELOG.md +++ b/packages/dev-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.2.6 - _July 31, 2019_ + + * Dependencies updated + ## v2.2.5 - _July 24, 2019_ * Dependencies updated diff --git a/packages/fill-scenarios/CHANGELOG.json b/packages/fill-scenarios/CHANGELOG.json index 0f9d60a961..0bf6e6c6b2 100644 --- a/packages/fill-scenarios/CHANGELOG.json +++ b/packages/fill-scenarios/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "3.0.15", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "3.0.14", diff --git a/packages/fill-scenarios/CHANGELOG.md b/packages/fill-scenarios/CHANGELOG.md index 9dd04a247e..db27649cef 100644 --- a/packages/fill-scenarios/CHANGELOG.md +++ b/packages/fill-scenarios/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.0.15 - _July 31, 2019_ + + * Dependencies updated + ## v3.0.14 - _July 24, 2019_ * Dependencies updated diff --git a/packages/json-schemas/CHANGELOG.json b/packages/json-schemas/CHANGELOG.json index 61974a0849..142dabc8d4 100644 --- a/packages/json-schemas/CHANGELOG.json +++ b/packages/json-schemas/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "3.1.12", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "3.1.11", "changes": [ diff --git a/packages/json-schemas/CHANGELOG.md b/packages/json-schemas/CHANGELOG.md index 5637f56bea..37344622fc 100644 --- a/packages/json-schemas/CHANGELOG.md +++ b/packages/json-schemas/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.12 - _July 31, 2019_ + + * Dependencies updated + ## v3.1.11 - _July 24, 2019_ * permit mixed-case addresses diff --git a/packages/migrations/CHANGELOG.json b/packages/migrations/CHANGELOG.json index 138259ab33..05547146fe 100644 --- a/packages/migrations/CHANGELOG.json +++ b/packages/migrations/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deploy0xArtifactAsync to include log decode dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "timestamp": 1563957393, diff --git a/packages/migrations/CHANGELOG.md b/packages/migrations/CHANGELOG.md index 2dca85aff3..741242b00a 100644 --- a/packages/migrations/CHANGELOG.md +++ b/packages/migrations/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.1.11 - _July 31, 2019_ + + * Updated calls to .deploy0xArtifactAsync to include log decode dependencies. (#1995) + ## v4.1.10 - _July 24, 2019_ * Dependencies updated diff --git a/packages/order-utils/CHANGELOG.json b/packages/order-utils/CHANGELOG.json index 0497f2ed38..b0f3fe4e05 100644 --- a/packages/order-utils/CHANGELOG.json +++ b/packages/order-utils/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deploy0xArtifactAsync to include log decode dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564604963 }, { "version": "8.2.3", diff --git a/packages/order-utils/CHANGELOG.md b/packages/order-utils/CHANGELOG.md index dc6f7dfcaf..f0dc269c89 100644 --- a/packages/order-utils/CHANGELOG.md +++ b/packages/order-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v8.2.4 - _July 31, 2019_ + + * Updated calls to .deploy0xArtifactAsync to include log decode dependencies. (#1995) + ## v8.2.3 - _July 24, 2019_ * Ensure `assetData` is word aligned (#1964) diff --git a/packages/order-watcher/CHANGELOG.json b/packages/order-watcher/CHANGELOG.json index b80f830eca..b20523053b 100644 --- a/packages/order-watcher/CHANGELOG.json +++ b/packages/order-watcher/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "4.0.16", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "4.0.15", diff --git a/packages/order-watcher/CHANGELOG.md b/packages/order-watcher/CHANGELOG.md index 0ef8995932..c3666a2b44 100644 --- a/packages/order-watcher/CHANGELOG.md +++ b/packages/order-watcher/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.0.16 - _July 31, 2019_ + + * Dependencies updated + ## v4.0.15 - _July 24, 2019_ * Dependencies updated diff --git a/packages/sol-compiler/CHANGELOG.json b/packages/sol-compiler/CHANGELOG.json index b1e23ccfe9..c75fc84b54 100644 --- a/packages/sol-compiler/CHANGELOG.json +++ b/packages/sol-compiler/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "3.1.11", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "3.1.10", "changes": [ diff --git a/packages/sol-compiler/CHANGELOG.md b/packages/sol-compiler/CHANGELOG.md index ebc72f5c74..5b00fb1a5c 100644 --- a/packages/sol-compiler/CHANGELOG.md +++ b/packages/sol-compiler/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.11 - _July 31, 2019_ + + * Dependencies updated + ## v3.1.10 - _July 24, 2019_ * re-export new ethereum-types types, TupleDataItem (#1919) diff --git a/packages/sol-coverage/CHANGELOG.json b/packages/sol-coverage/CHANGELOG.json index 2bc83a3d2d..40b4a9dace 100644 --- a/packages/sol-coverage/CHANGELOG.json +++ b/packages/sol-coverage/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "3.0.8", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "3.0.7", diff --git a/packages/sol-coverage/CHANGELOG.md b/packages/sol-coverage/CHANGELOG.md index 7bf8d88fc8..5cceaa9e5b 100644 --- a/packages/sol-coverage/CHANGELOG.md +++ b/packages/sol-coverage/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.0.8 - _July 31, 2019_ + + * Dependencies updated + ## v3.0.7 - _July 24, 2019_ * Dependencies updated diff --git a/packages/sol-doc/CHANGELOG.json b/packages/sol-doc/CHANGELOG.json index aa55224001..11bef23c57 100644 --- a/packages/sol-doc/CHANGELOG.json +++ b/packages/sol-doc/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "2.0.15", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "2.0.14", diff --git a/packages/sol-doc/CHANGELOG.md b/packages/sol-doc/CHANGELOG.md index 53e75b252d..8455e494a9 100644 --- a/packages/sol-doc/CHANGELOG.md +++ b/packages/sol-doc/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.15 - _July 31, 2019_ + + * Dependencies updated + ## v2.0.14 - _July 24, 2019_ * Dependencies updated diff --git a/packages/sol-profiler/CHANGELOG.json b/packages/sol-profiler/CHANGELOG.json index de9c3c2f4b..2f02dfb4cf 100644 --- a/packages/sol-profiler/CHANGELOG.json +++ b/packages/sol-profiler/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "3.1.10", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "3.1.9", diff --git a/packages/sol-profiler/CHANGELOG.md b/packages/sol-profiler/CHANGELOG.md index 3bef1295d4..0a9f37263d 100644 --- a/packages/sol-profiler/CHANGELOG.md +++ b/packages/sol-profiler/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.10 - _July 31, 2019_ + + * Dependencies updated + ## v3.1.9 - _July 24, 2019_ * Dependencies updated diff --git a/packages/sol-trace/CHANGELOG.json b/packages/sol-trace/CHANGELOG.json index 7f64831c83..7750769565 100644 --- a/packages/sol-trace/CHANGELOG.json +++ b/packages/sol-trace/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "2.0.16", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "2.0.15", diff --git a/packages/sol-trace/CHANGELOG.md b/packages/sol-trace/CHANGELOG.md index 01dde713e7..a197b86cd7 100644 --- a/packages/sol-trace/CHANGELOG.md +++ b/packages/sol-trace/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.16 - _July 31, 2019_ + + * Dependencies updated + ## v2.0.15 - _July 24, 2019_ * Dependencies updated diff --git a/packages/sol-tracing-utils/CHANGELOG.json b/packages/sol-tracing-utils/CHANGELOG.json index 2a1457cc63..6a50d04b65 100644 --- a/packages/sol-tracing-utils/CHANGELOG.json +++ b/packages/sol-tracing-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "6.0.15", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "6.0.14", diff --git a/packages/sol-tracing-utils/CHANGELOG.md b/packages/sol-tracing-utils/CHANGELOG.md index e0f59adf19..f6109e5a2e 100644 --- a/packages/sol-tracing-utils/CHANGELOG.md +++ b/packages/sol-tracing-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v6.0.15 - _July 31, 2019_ + + * Dependencies updated + ## v6.0.14 - _July 24, 2019_ * Dependencies updated diff --git a/packages/sra-spec/CHANGELOG.json b/packages/sra-spec/CHANGELOG.json index 0cd3dbdf06..e313dcb609 100644 --- a/packages/sra-spec/CHANGELOG.json +++ b/packages/sra-spec/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "2.0.13", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "2.0.12", diff --git a/packages/sra-spec/CHANGELOG.md b/packages/sra-spec/CHANGELOG.md index ad36fa126a..41060d7b16 100644 --- a/packages/sra-spec/CHANGELOG.md +++ b/packages/sra-spec/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.0.13 - _July 31, 2019_ + + * Dependencies updated + ## v2.0.12 - _July 24, 2019_ * Dependencies updated diff --git a/packages/subproviders/CHANGELOG.json b/packages/subproviders/CHANGELOG.json index ef29019143..19d4f3bae9 100644 --- a/packages/subproviders/CHANGELOG.json +++ b/packages/subproviders/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Remove eth-lightwallet subprovider" } - ] + ], + "timestamp": 1564604963 }, { "version": "4.1.2", diff --git a/packages/subproviders/CHANGELOG.md b/packages/subproviders/CHANGELOG.md index 35c5422861..9cae5893f4 100644 --- a/packages/subproviders/CHANGELOG.md +++ b/packages/subproviders/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.0.0 - _July 31, 2019_ + + * Remove eth-lightwallet subprovider + ## v4.1.2 - _July 24, 2019_ * Fix bug in Private Key subprovider causing checksummed tx.origin addresses to be rejected. (#1962) diff --git a/packages/utils/CHANGELOG.json b/packages/utils/CHANGELOG.json index 6db71af1f8..192029c8eb 100644 --- a/packages/utils/CHANGELOG.json +++ b/packages/utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "4.4.2", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1563957393, "version": "4.4.1", diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 0fb221fa5d..06518a0ac4 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.4.2 - _July 31, 2019_ + + * Dependencies updated + ## v4.4.1 - _July 24, 2019_ * Dependencies updated diff --git a/packages/web3-wrapper/CHANGELOG.json b/packages/web3-wrapper/CHANGELOG.json index be1db65bf9..ccf0610704 100644 --- a/packages/web3-wrapper/CHANGELOG.json +++ b/packages/web3-wrapper/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564604963, + "version": "6.0.9", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "6.0.8", "changes": [ diff --git a/packages/web3-wrapper/CHANGELOG.md b/packages/web3-wrapper/CHANGELOG.md index 649d528d93..60b8c60eee 100644 --- a/packages/web3-wrapper/CHANGELOG.md +++ b/packages/web3-wrapper/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v6.0.9 - _July 31, 2019_ + + * Dependencies updated + ## v6.0.8 - _July 24, 2019_ * re-export new ethereum-types types, TupleDataItem (#1919) diff --git a/yarn.lock b/yarn.lock index 97cfe6e1cf..3860d45a6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -672,28 +672,6 @@ ethereum-types "^2.1.2" lodash "^4.17.11" -"@0x/asset-swapper@^0.0.5": - version "0.0.5" - resolved "https://registry.yarnpkg.com/@0x/asset-swapper/-/asset-swapper-0.0.5.tgz#8f0493f5496e7ad50d09173a6809c8f0ae3683c3" - integrity sha512-Juah8/smjoTWIJlJ2iJkrfCJTKgdAOqGV4KvV4Uyd/+RADtgPyHXRHaz13h3v6BzRmDOPVWTunYXUR53AR8PZw== - dependencies: - "@0x/assert" "^2.1.1" - "@0x/connect" "^5.0.14" - "@0x/contract-addresses" "^3.0.2" - "@0x/contract-wrappers" "^9.1.8" - "@0x/dev-utils" "^2.2.5" - "@0x/fill-scenarios" "^3.0.14" - "@0x/json-schemas" "^3.1.11" - "@0x/migrations" "^4.1.10" - "@0x/order-utils" "^8.2.3" - "@0x/subproviders" "^4.1.2" - "@0x/types" "^2.4.1" - "@0x/typescript-typings" "^4.2.4" - "@0x/utils" "^4.4.1" - "@0x/web3-wrapper" "^6.0.8" - ethereum-types "^2.1.4" - lodash "^4.17.11" - "@0x/base-contract@^4.0.1", "@0x/base-contract@^4.0.3": version "4.0.3" resolved "https://registry.yarnpkg.com/@0x/base-contract/-/base-contract-4.0.3.tgz#ea5e3640824ee096813350e55546d98455a57805" @@ -1710,13 +1688,6 @@ version "0.22.9" resolved "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.9.tgz#b5990152604c2ada749b7f88cab3476f21f39d7b" -"@types/chokidar@^1.7.5": - version "1.7.5" - resolved "https://registry.yarnpkg.com/@types/chokidar/-/chokidar-1.7.5.tgz#1fa78c8803e035bed6d98e6949e514b133b0c9b6" - dependencies: - "@types/events" "*" - "@types/node" "*" - "@types/deep-equal@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/deep-equal/-/deep-equal-1.0.1.tgz#71cfabb247c22bcc16d536111f50c0ed12476b03" @@ -3955,6 +3926,13 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + broadway@~0.3.2, broadway@~0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/broadway/-/broadway-0.3.6.tgz#7dbef068b954b7907925fd544963b578a902ba7a" @@ -8438,26 +8416,10 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -graceful-fs@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" - integrity sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg= - dependencies: - natives "^1.1.0" - -graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: +graceful-fs@4.1.15, graceful-fs@^3.0.0, graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@~1.2.0: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - -graceful-fs@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" - integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== - -graceful-fs@~1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" - integrity sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q= + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== "graceful-readlink@>= 1.0.0": version "1.0.1" @@ -11940,11 +11902,6 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -natives@^1.1.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb" - integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -14268,9 +14225,9 @@ react-helmet@^5.2.0: prop-types "^15.5.4" react-side-effect "^1.1.0" -"react-highlight@https://github.com/0xProject/react-highlight.git#a70c7631e09508dafc4719cbcc6f121074e1937d": +react-highlight@0xproject/react-highlight#react-peer-deps: version "1.0.0" - resolved "https://github.com/0xProject/react-highlight.git#a70c7631e09508dafc4719cbcc6f121074e1937d" + resolved "https://codeload.github.com/0xproject/react-highlight/tar.gz/a70c7631e09508dafc4719cbcc6f121074e1937d" dependencies: highlight.js "^9.11.0" highlightjs-solidity "^1.0.5" From d36eb04ae83e35e918f1497c86e0cc7a92e124c5 Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 31 Jul 2019 13:36:00 -0700 Subject: [PATCH 073/162] Publish - @0x/contracts-asset-proxy@2.2.4 - @0x/contracts-coordinator@2.0.9 - @0x/contracts-dev-utils@0.0.6 - @0x/contracts-erc1155@1.1.11 - @0x/contracts-erc20@2.2.10 - @0x/contracts-erc721@2.1.11 - @0x/contracts-exchange-forwarder@3.0.8 - @0x/contracts-exchange-libs@3.0.4 - @0x/contracts-exchange@2.1.10 - @0x/contracts-extensions@4.0.4 - @0x/contracts-multisig@3.1.10 - @0x/contracts-test-utils@3.1.12 - @0x/contracts-utils@3.2.0 - 0x.js@6.0.14 - @0x/abi-gen-templates@2.4.0 - @0x/abi-gen-wrappers@5.1.0 - @0x/abi-gen@3.1.2 - @0x/assert@2.1.2 - @0x/asset-buyer@6.1.10 - @0x/asset-swapper@1.0.0 - @0x/base-contract@5.3.0 - @0x/connect@5.0.15 - @0x/contract-artifacts@2.0.3 - @0x/contract-wrappers@10.1.0 - @0x/contracts-gen@1.0.12 - @0x/dev-utils@2.2.6 - @0x/fill-scenarios@3.0.15 - @0x/json-schemas@3.1.12 - @0x/migrations@4.1.11 - @0x/order-utils@8.2.4 - @0x/order-watcher@4.0.16 - @0x/sol-compiler@3.1.11 - @0x/sol-coverage@3.0.8 - @0x/sol-doc@2.0.15 - @0x/sol-profiler@3.1.10 - @0x/sol-trace@2.0.16 - @0x/sol-tracing-utils@6.0.15 - @0x/sra-spec@2.0.13 - @0x/subproviders@5.0.0 - @0x/utils@4.4.2 - @0x/web3-wrapper@6.0.9 --- contracts/asset-proxy/package.json | 30 +++++++++--------- contracts/coordinator/package.json | 32 +++++++++---------- contracts/dev-utils/package.json | 38 +++++++++++------------ contracts/erc1155/package.json | 22 ++++++------- contracts/erc20/package.json | 22 ++++++------- contracts/erc721/package.json | 22 ++++++------- contracts/exchange-forwarder/package.json | 36 ++++++++++----------- contracts/exchange-libs/package.json | 24 +++++++------- contracts/exchange/package.json | 34 ++++++++++---------- contracts/extensions/package.json | 36 ++++++++++----------- contracts/multisig/package.json | 24 +++++++------- contracts/test-utils/package.json | 20 ++++++------ contracts/utils/package.json | 22 ++++++------- packages/0x.js/package.json | 26 ++++++++-------- packages/abi-gen-templates/package.json | 2 +- packages/abi-gen-wrappers/package.json | 18 +++++------ packages/abi-gen/package.json | 18 +++++------ packages/assert/package.json | 6 ++-- packages/asset-buyer/package.json | 18 +++++------ packages/asset-swapper/package.json | 24 +++++++------- packages/base-contract/package.json | 10 +++--- packages/connect/package.json | 10 +++--- packages/contract-artifacts/package.json | 4 +-- packages/contract-wrappers/package.json | 28 ++++++++--------- packages/contracts-gen/package.json | 4 +-- packages/dev-utils/package.json | 8 ++--- packages/fill-scenarios/package.json | 12 +++---- packages/json-schemas/package.json | 4 +-- packages/migrations/package.json | 20 ++++++------ packages/order-utils/package.json | 20 ++++++------ packages/order-watcher/package.json | 28 ++++++++--------- packages/sol-compiler/package.json | 14 ++++----- packages/sol-coverage/package.json | 6 ++-- packages/sol-doc/package.json | 6 ++-- packages/sol-profiler/package.json | 8 ++--- packages/sol-trace/package.json | 6 ++-- packages/sol-tracing-utils/package.json | 12 +++---- packages/sra-spec/package.json | 4 +-- packages/subproviders/package.json | 8 ++--- packages/utils/package.json | 2 +- packages/web3-wrapper/package.json | 8 ++--- 41 files changed, 348 insertions(+), 348 deletions(-) diff --git a/contracts/asset-proxy/package.json b/contracts/asset-proxy/package.json index e42ca169c5..5024b49a00 100644 --- a/contracts/asset-proxy/package.json +++ b/contracts/asset-proxy/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-asset-proxy", - "version": "2.2.3", + "version": "2.2.4", "engines": { "node": ">=6.12" }, @@ -47,15 +47,15 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/contracts-gen": "^1.0.11", - "@0x/contracts-test-utils": "^3.1.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/abi-gen": "^3.1.2", + "@0x/contracts-gen": "^1.0.12", + "@0x/contracts-test-utils": "^3.1.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/node": "*", "@types/mocha": "^5.2.7", + "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -69,16 +69,16 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/contracts-erc1155": "^1.1.10", - "@0x/contracts-erc20": "^2.2.9", - "@0x/contracts-erc721": "^2.1.10", - "@0x/contracts-utils": "^3.1.10", - "@0x/order-utils": "^8.2.3", + "@0x/base-contract": "^5.3.0", + "@0x/contracts-erc1155": "^1.1.11", + "@0x/contracts-erc20": "^2.2.10", + "@0x/contracts-erc721": "^2.1.11", + "@0x/contracts-utils": "^3.2.0", + "@0x/order-utils": "^8.2.4", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" diff --git a/contracts/coordinator/package.json b/contracts/coordinator/package.json index d1fcf61fd7..b66b281369 100644 --- a/contracts/coordinator/package.json +++ b/contracts/coordinator/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-coordinator", - "version": "2.0.8", + "version": "2.0.9", "engines": { "node": ">=6.12" }, @@ -47,15 +47,15 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/contracts-gen": "^1.0.11", - "@0x/contracts-test-utils": "^3.1.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/abi-gen": "^3.1.2", + "@0x/contracts-gen": "^1.0.12", + "@0x/contracts-test-utils": "^3.1.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/node": "*", "@types/mocha": "^5.2.7", + "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -69,17 +69,17 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/contracts-asset-proxy": "^2.2.3", - "@0x/contracts-erc20": "^2.2.9", - "@0x/contracts-exchange": "^2.1.9", - "@0x/contracts-exchange-libs": "^3.0.3", - "@0x/contracts-utils": "^3.1.10", - "@0x/order-utils": "^8.2.3", + "@0x/base-contract": "^5.3.0", + "@0x/contracts-asset-proxy": "^2.2.4", + "@0x/contracts-erc20": "^2.2.10", + "@0x/contracts-exchange": "^2.1.10", + "@0x/contracts-exchange-libs": "^3.0.4", + "@0x/contracts-utils": "^3.2.0", + "@0x/order-utils": "^8.2.4", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" diff --git a/contracts/dev-utils/package.json b/contracts/dev-utils/package.json index e203775808..3b2f398fe0 100644 --- a/contracts/dev-utils/package.json +++ b/contracts/dev-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-dev-utils", - "version": "0.0.5", + "version": "0.0.6", "engines": { "node": ">=6.12" }, @@ -47,16 +47,16 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/dev-utils/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/contract-wrappers": "^9.1.8", - "@0x/contracts-gen": "^1.0.11", - "@0x/contracts-test-utils": "^3.1.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/abi-gen": "^3.1.2", + "@0x/contract-wrappers": "^10.1.0", + "@0x/contracts-gen": "^1.0.12", + "@0x/contracts-test-utils": "^3.1.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/node": "*", "@types/mocha": "^5.2.7", + "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -70,19 +70,19 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/contracts-asset-proxy": "^2.2.3", - "@0x/contracts-erc1155": "^1.1.10", - "@0x/contracts-erc20": "^2.2.9", - "@0x/contracts-erc721": "^2.1.10", - "@0x/contracts-exchange": "^2.1.9", - "@0x/contracts-exchange-libs": "^3.0.3", - "@0x/contracts-utils": "^3.1.10", - "@0x/order-utils": "^8.2.3", + "@0x/base-contract": "^5.3.0", + "@0x/contracts-asset-proxy": "^2.2.4", + "@0x/contracts-erc1155": "^1.1.11", + "@0x/contracts-erc20": "^2.2.10", + "@0x/contracts-erc721": "^2.1.11", + "@0x/contracts-exchange": "^2.1.10", + "@0x/contracts-exchange-libs": "^3.0.4", + "@0x/contracts-utils": "^3.2.0", + "@0x/order-utils": "^8.2.4", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1" }, diff --git a/contracts/erc1155/package.json b/contracts/erc1155/package.json index 409ff7e302..cf4551a711 100644 --- a/contracts/erc1155/package.json +++ b/contracts/erc1155/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc1155", - "version": "1.1.10", + "version": "1.1.11", "engines": { "node": ">=6.12" }, @@ -47,14 +47,14 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/contracts-gen": "^1.0.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/abi-gen": "^3.1.2", + "@0x/contracts-gen": "^1.0.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/node": "*", "@types/mocha": "^5.2.7", + "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -68,13 +68,13 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/contracts-test-utils": "^3.1.11", - "@0x/contracts-utils": "^3.1.10", + "@0x/base-contract": "^5.3.0", + "@0x/contracts-test-utils": "^3.1.12", + "@0x/contracts-utils": "^3.2.0", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, diff --git a/contracts/erc20/package.json b/contracts/erc20/package.json index 071e2f62c2..206995ceb8 100644 --- a/contracts/erc20/package.json +++ b/contracts/erc20/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc20", - "version": "2.2.9", + "version": "2.2.10", "engines": { "node": ">=6.12" }, @@ -47,15 +47,15 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/contracts-gen": "^1.0.11", - "@0x/contracts-test-utils": "^3.1.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/abi-gen": "^3.1.2", + "@0x/contracts-gen": "^1.0.12", + "@0x/contracts-test-utils": "^3.1.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/node": "*", "@types/mocha": "^5.2.7", + "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -69,12 +69,12 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/contracts-utils": "^3.1.10", + "@0x/base-contract": "^5.3.0", + "@0x/contracts-utils": "^3.2.0", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, diff --git a/contracts/erc721/package.json b/contracts/erc721/package.json index 80dd14df24..9d1c350852 100644 --- a/contracts/erc721/package.json +++ b/contracts/erc721/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc721", - "version": "2.1.10", + "version": "2.1.11", "engines": { "node": ">=6.12" }, @@ -47,15 +47,15 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/contracts-gen": "^1.0.11", - "@0x/contracts-test-utils": "^3.1.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/abi-gen": "^3.1.2", + "@0x/contracts-gen": "^1.0.12", + "@0x/contracts-test-utils": "^3.1.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/node": "*", "@types/mocha": "^5.2.7", + "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -69,12 +69,12 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/contracts-utils": "^3.1.10", + "@0x/base-contract": "^5.3.0", + "@0x/contracts-utils": "^3.2.0", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, diff --git a/contracts/exchange-forwarder/package.json b/contracts/exchange-forwarder/package.json index db261a62fc..8f4b2f7fff 100644 --- a/contracts/exchange-forwarder/package.json +++ b/contracts/exchange-forwarder/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange-forwarder", - "version": "3.0.7", + "version": "3.0.8", "engines": { "node": ">=6.12" }, @@ -46,16 +46,16 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/contract-wrappers": "^9.1.8", - "@0x/contracts-gen": "^1.0.11", - "@0x/contracts-test-utils": "^3.1.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/abi-gen": "^3.1.2", + "@0x/contract-wrappers": "^10.1.0", + "@0x/contracts-gen": "^1.0.12", + "@0x/contracts-test-utils": "^3.1.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/node": "*", "@types/mocha": "^5.2.7", + "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -69,18 +69,18 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/contracts-asset-proxy": "^2.2.3", - "@0x/contracts-erc20": "^2.2.9", - "@0x/contracts-erc721": "^2.1.10", - "@0x/contracts-exchange": "^2.1.9", - "@0x/contracts-exchange-libs": "^3.0.3", - "@0x/contracts-utils": "^3.1.10", - "@0x/order-utils": "^8.2.3", + "@0x/base-contract": "^5.3.0", + "@0x/contracts-asset-proxy": "^2.2.4", + "@0x/contracts-erc20": "^2.2.10", + "@0x/contracts-erc721": "^2.1.11", + "@0x/contracts-exchange": "^2.1.10", + "@0x/contracts-exchange-libs": "^3.0.4", + "@0x/contracts-utils": "^3.2.0", + "@0x/order-utils": "^8.2.4", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, diff --git a/contracts/exchange-libs/package.json b/contracts/exchange-libs/package.json index aaab9ddb32..8fb889be7b 100644 --- a/contracts/exchange-libs/package.json +++ b/contracts/exchange-libs/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange-libs", - "version": "3.0.3", + "version": "3.0.4", "engines": { "node": ">=6.12" }, @@ -47,15 +47,15 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/libs/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/contracts-gen": "^1.0.11", - "@0x/contracts-test-utils": "^3.1.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/abi-gen": "^3.1.2", + "@0x/contracts-gen": "^1.0.12", + "@0x/contracts-test-utils": "^3.1.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/node": "*", "@types/mocha": "^5.2.7", + "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -69,13 +69,13 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/contracts-utils": "^3.1.10", - "@0x/order-utils": "^8.2.3", + "@0x/base-contract": "^5.3.0", + "@0x/contracts-utils": "^3.2.0", + "@0x/order-utils": "^8.2.4", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, diff --git a/contracts/exchange/package.json b/contracts/exchange/package.json index c064e8e0b8..3300f13690 100644 --- a/contracts/exchange/package.json +++ b/contracts/exchange/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange", - "version": "2.1.9", + "version": "2.1.10", "engines": { "node": ">=6.12" }, @@ -47,15 +47,15 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/contracts-gen": "^1.0.11", - "@0x/contracts-test-utils": "^3.1.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/abi-gen": "^3.1.2", + "@0x/contracts-gen": "^1.0.12", + "@0x/contracts-test-utils": "^3.1.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/node": "*", "@types/mocha": "^5.2.7", + "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -69,18 +69,18 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/contracts-asset-proxy": "^2.2.3", - "@0x/contracts-erc1155": "^1.1.10", - "@0x/contracts-erc20": "^2.2.9", - "@0x/contracts-erc721": "^2.1.10", - "@0x/contracts-exchange-libs": "^3.0.3", - "@0x/contracts-utils": "^3.1.10", - "@0x/order-utils": "^8.2.3", + "@0x/base-contract": "^5.3.0", + "@0x/contracts-asset-proxy": "^2.2.4", + "@0x/contracts-erc1155": "^1.1.11", + "@0x/contracts-erc20": "^2.2.10", + "@0x/contracts-erc721": "^2.1.11", + "@0x/contracts-exchange-libs": "^3.0.4", + "@0x/contracts-utils": "^3.2.0", + "@0x/order-utils": "^8.2.4", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" diff --git a/contracts/extensions/package.json b/contracts/extensions/package.json index 22a03f547f..d8755d2000 100644 --- a/contracts/extensions/package.json +++ b/contracts/extensions/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-extensions", - "version": "4.0.3", + "version": "4.0.4", "engines": { "node": ">=6.12" }, @@ -47,16 +47,16 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/contract-wrappers": "^9.1.8", - "@0x/contracts-gen": "^1.0.11", - "@0x/contracts-test-utils": "^3.1.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/abi-gen": "^3.1.2", + "@0x/contract-wrappers": "^10.1.0", + "@0x/contracts-gen": "^1.0.12", + "@0x/contracts-test-utils": "^3.1.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/node": "*", "@types/mocha": "^5.2.7", + "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -70,18 +70,18 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/contracts-asset-proxy": "^2.2.3", - "@0x/contracts-erc20": "^2.2.9", - "@0x/contracts-erc721": "^2.1.10", - "@0x/contracts-exchange": "^2.1.9", - "@0x/contracts-exchange-libs": "^3.0.3", - "@0x/contracts-utils": "^3.1.10", - "@0x/order-utils": "^8.2.3", + "@0x/base-contract": "^5.3.0", + "@0x/contracts-asset-proxy": "^2.2.4", + "@0x/contracts-erc20": "^2.2.10", + "@0x/contracts-erc721": "^2.1.11", + "@0x/contracts-exchange": "^2.1.10", + "@0x/contracts-exchange-libs": "^3.0.4", + "@0x/contracts-utils": "^3.2.0", + "@0x/order-utils": "^8.2.4", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, diff --git a/contracts/multisig/package.json b/contracts/multisig/package.json index 7dad00796b..4545095b4d 100644 --- a/contracts/multisig/package.json +++ b/contracts/multisig/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-multisig", - "version": "3.1.9", + "version": "3.1.10", "engines": { "node": ">=6.12" }, @@ -47,15 +47,15 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/multisig/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/contracts-gen": "^1.0.11", - "@0x/contracts-test-utils": "^3.1.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/abi-gen": "^3.1.2", + "@0x/contracts-gen": "^1.0.12", + "@0x/contracts-test-utils": "^3.1.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", - "@types/node": "*", "@types/mocha": "^5.2.7", + "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -69,14 +69,14 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/contracts-asset-proxy": "^2.2.3", - "@0x/contracts-erc20": "^2.2.9", + "@0x/base-contract": "^5.3.0", + "@0x/contracts-asset-proxy": "^2.2.4", + "@0x/contracts-erc20": "^2.2.10", "@0x/contracts-utils": "2.0.1", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json index 51e0c6d05b..f2596166e7 100644 --- a/contracts/test-utils/package.json +++ b/contracts/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-test-utils", - "version": "3.1.11", + "version": "3.1.12", "engines": { "node": ">=6.12" }, @@ -42,18 +42,18 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/dev-utils": "^2.2.5", - "@0x/order-utils": "^8.2.3", - "@0x/sol-compiler": "^3.1.10", - "@0x/sol-coverage": "^3.0.7", - "@0x/sol-profiler": "^3.1.9", - "@0x/sol-trace": "^2.0.15", - "@0x/subproviders": "^4.1.2", + "@0x/dev-utils": "^2.2.6", + "@0x/order-utils": "^8.2.4", + "@0x/sol-compiler": "^3.1.11", + "@0x/sol-coverage": "^3.0.8", + "@0x/sol-profiler": "^3.1.10", + "@0x/sol-trace": "^2.0.16", + "@0x/subproviders": "^5.0.0", "@0x/tslint-config": "^3.0.1", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "@types/bn.js": "^4.11.0", "@types/js-combinatorics": "^0.5.29", "@types/lodash": "4.14.104", diff --git a/contracts/utils/package.json b/contracts/utils/package.json index 0b11673348..58dfca0e6e 100644 --- a/contracts/utils/package.json +++ b/contracts/utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-utils", - "version": "3.1.10", + "version": "3.2.0", "engines": { "node": ">=6.12" }, @@ -47,16 +47,16 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/utils/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/contracts-gen": "^1.0.11", - "@0x/contracts-test-utils": "^3.1.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/abi-gen": "^3.1.2", + "@0x/contracts-gen": "^1.0.12", + "@0x/contracts-test-utils": "^3.1.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/tslint-config": "^3.0.1", "@types/bn.js": "^4.11.0", "@types/lodash": "4.14.104", - "@types/node": "*", "@types/mocha": "^5.2.7", + "@types/node": "*", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -70,12 +70,12 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/order-utils": "^8.2.3", + "@0x/base-contract": "^5.3.0", + "@0x/order-utils": "^8.2.4", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "bn.js": "^4.11.8", "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json index c5f68ef8fc..ddff028f2e 100644 --- a/packages/0x.js/package.json +++ b/packages/0x.js/package.json @@ -1,6 +1,6 @@ { "name": "0x.js", - "version": "6.0.13", + "version": "6.0.14", "engines": { "node": ">=6.12" }, @@ -43,10 +43,10 @@ }, "license": "Apache-2.0", "devDependencies": { - "@0x/abi-gen-wrappers": "^5.0.3", + "@0x/abi-gen-wrappers": "^5.1.0", "@0x/contract-addresses": "^3.0.2", - "@0x/dev-utils": "^2.2.5", - "@0x/migrations": "^4.1.10", + "@0x/dev-utils": "^2.2.6", + "@0x/migrations": "^4.1.11", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -73,17 +73,17 @@ "webpack": "^4.20.2" }, "dependencies": { - "@0x/assert": "^2.1.1", - "@0x/asset-swapper": "^0.0.5", - "@0x/base-contract": "^5.1.2", - "@0x/contract-wrappers": "^9.1.8", - "@0x/order-utils": "^8.2.3", - "@0x/order-watcher": "^4.0.15", - "@0x/subproviders": "^4.1.2", + "@0x/assert": "^2.1.2", + "@0x/asset-swapper": "^1.0.0", + "@0x/base-contract": "^5.3.0", + "@0x/contract-wrappers": "^10.1.0", + "@0x/order-utils": "^8.2.4", + "@0x/order-watcher": "^4.0.16", + "@0x/subproviders": "^5.0.0", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "@types/web3-provider-engine": "^14.0.0", "ethereum-types": "^2.1.4", "ethers": "~4.0.4", diff --git a/packages/abi-gen-templates/package.json b/packages/abi-gen-templates/package.json index 94921206df..11c535c261 100644 --- a/packages/abi-gen-templates/package.json +++ b/packages/abi-gen-templates/package.json @@ -1,6 +1,6 @@ { "name": "@0x/abi-gen-templates", - "version": "2.3.0", + "version": "2.4.0", "engines": { "node": ">=6.12" }, diff --git a/packages/abi-gen-wrappers/package.json b/packages/abi-gen-wrappers/package.json index 74ef124107..51abb1eb5e 100644 --- a/packages/abi-gen-wrappers/package.json +++ b/packages/abi-gen-wrappers/package.json @@ -1,6 +1,6 @@ { "name": "@0x/abi-gen-wrappers", - "version": "5.0.3", + "version": "5.1.0", "engines": { "node": ">=6.12" }, @@ -33,23 +33,23 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/abi-gen-wrappers/README.md", "devDependencies": { - "@0x/abi-gen": "^3.1.1", - "@0x/abi-gen-templates": "^2.3.0", - "@0x/assert": "^2.1.1", - "@0x/json-schemas": "^3.1.11", + "@0x/abi-gen": "^3.1.2", + "@0x/abi-gen-templates": "^2.4.0", + "@0x/assert": "^2.1.2", + "@0x/json-schemas": "^3.1.12", "@0x/tslint-config": "^3.0.1", "@0x/types": "^2.4.1", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "ethers": "~4.0.4", "lodash": "^4.17.11", "shx": "^0.2.2" }, "dependencies": { - "@0x/base-contract": "^5.1.2", + "@0x/base-contract": "^5.3.0", "@0x/contract-addresses": "^3.0.2", - "@0x/contract-artifacts": "^2.0.2" + "@0x/contract-artifacts": "^2.0.3" }, "publishConfig": { "access": "public" diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json index 6f73c07925..be33f6a38d 100644 --- a/packages/abi-gen/package.json +++ b/packages/abi-gen/package.json @@ -1,6 +1,6 @@ { "name": "@0x/abi-gen", - "version": "3.1.1", + "version": "3.1.2", "engines": { "node": ">=6.12" }, @@ -58,7 +58,7 @@ "dependencies": { "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", + "@0x/utils": "^4.4.2", "chalk": "^2.3.0", "change-case": "^3.0.2", "cli-format": "^3.0.9", @@ -72,19 +72,19 @@ "yargs": "^10.0.3" }, "devDependencies": { - "@0x/base-contract": "^5.1.2", - "@0x/contracts-gen": "^1.0.11", - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", - "@0x/subproviders": "^4.1.2", + "@0x/base-contract": "^5.3.0", + "@0x/contracts-gen": "^1.0.12", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", + "@0x/subproviders": "^5.0.0", "@0x/tslint-config": "^3.0.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/web3-wrapper": "^6.0.9", "@types/glob": "5.0.35", "@types/mkdirp": "^0.5.2", + "@types/mocha": "^5.2.7", "@types/node": "*", "@types/tmp": "^0.0.33", "@types/yargs": "^11.0.0", - "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", diff --git a/packages/assert/package.json b/packages/assert/package.json index 7135f64802..b24a0680ee 100644 --- a/packages/assert/package.json +++ b/packages/assert/package.json @@ -1,6 +1,6 @@ { "name": "@0x/assert", - "version": "2.1.1", + "version": "2.1.2", "engines": { "node": ">=6.12" }, @@ -45,9 +45,9 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/json-schemas": "^3.1.11", + "@0x/json-schemas": "^3.1.12", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", + "@0x/utils": "^4.4.2", "lodash": "^4.17.11", "valid-url": "^1.0.9" }, diff --git a/packages/asset-buyer/package.json b/packages/asset-buyer/package.json index d1e0629237..0749714e70 100644 --- a/packages/asset-buyer/package.json +++ b/packages/asset-buyer/package.json @@ -1,6 +1,6 @@ { "name": "@0x/asset-buyer", - "version": "6.1.9", + "version": "6.1.10", "engines": { "node": ">=6.12" }, @@ -37,16 +37,16 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/asset-buyer/README.md", "dependencies": { - "@0x/assert": "^2.1.1", - "@0x/connect": "^5.0.14", - "@0x/contract-wrappers": "^9.1.8", - "@0x/json-schemas": "^3.1.11", - "@0x/order-utils": "^8.2.3", - "@0x/subproviders": "^4.1.2", + "@0x/assert": "^2.1.2", + "@0x/connect": "^5.0.15", + "@0x/contract-wrappers": "^10.1.0", + "@0x/json-schemas": "^3.1.12", + "@0x/order-utils": "^8.2.4", + "@0x/subproviders": "^5.0.0", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, diff --git a/packages/asset-swapper/package.json b/packages/asset-swapper/package.json index 3ec963c4e9..3de01c2bde 100644 --- a/packages/asset-swapper/package.json +++ b/packages/asset-swapper/package.json @@ -1,6 +1,6 @@ { "name": "@0x/asset-swapper", - "version": "0.0.5", + "version": "1.0.0", "engines": { "node": ">=6.12" }, @@ -37,20 +37,20 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/asset-buyer/README.md", "dependencies": { - "@0x/assert": "^2.1.1", - "@0x/connect": "^5.0.14", + "@0x/assert": "^2.1.2", + "@0x/connect": "^5.0.15", "@0x/contract-addresses": "^3.0.2", - "@0x/contract-wrappers": "^9.1.8", - "@0x/dev-utils": "^2.2.5", - "@0x/fill-scenarios": "^3.0.14", - "@0x/json-schemas": "^3.1.11", - "@0x/migrations": "^4.1.10", - "@0x/order-utils": "^8.2.3", - "@0x/subproviders": "^4.1.2", + "@0x/contract-wrappers": "^10.1.0", + "@0x/dev-utils": "^2.2.6", + "@0x/fill-scenarios": "^3.0.15", + "@0x/json-schemas": "^3.1.12", + "@0x/migrations": "^4.1.11", + "@0x/order-utils": "^8.2.4", + "@0x/subproviders": "^5.0.0", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "lodash": "^4.17.11" }, diff --git a/packages/base-contract/package.json b/packages/base-contract/package.json index e446571b20..68309d8179 100644 --- a/packages/base-contract/package.json +++ b/packages/base-contract/package.json @@ -1,6 +1,6 @@ { "name": "@0x/base-contract", - "version": "5.1.2", + "version": "5.3.0", "engines": { "node": ">=6.12" }, @@ -42,11 +42,11 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/assert": "^2.1.1", - "@0x/json-schemas": "^3.1.11", + "@0x/assert": "^2.1.2", + "@0x/json-schemas": "^3.1.12", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "ethereumjs-blockstream": "6.0.0", "ethereumjs-util": "^5.1.1", diff --git a/packages/connect/package.json b/packages/connect/package.json index 8d83bf7ff8..0729de4b4e 100644 --- a/packages/connect/package.json +++ b/packages/connect/package.json @@ -1,6 +1,6 @@ { "name": "@0x/connect", - "version": "5.0.14", + "version": "5.0.15", "engines": { "node": ">=6.12" }, @@ -45,12 +45,12 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/connect/README.md", "dependencies": { - "@0x/assert": "^2.1.1", - "@0x/json-schemas": "^3.1.11", - "@0x/order-utils": "^8.2.3", + "@0x/assert": "^2.1.2", + "@0x/json-schemas": "^3.1.12", + "@0x/order-utils": "^8.2.4", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", + "@0x/utils": "^4.4.2", "lodash": "^4.17.11", "query-string": "^6.0.0", "sinon": "^4.0.0", diff --git a/packages/contract-artifacts/package.json b/packages/contract-artifacts/package.json index 200c836727..73023b20ca 100644 --- a/packages/contract-artifacts/package.json +++ b/packages/contract-artifacts/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-artifacts", - "version": "2.0.2", + "version": "2.0.3", "engines": { "node": ">=6.12" }, @@ -30,7 +30,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/contract-artifacts/README.md", "devDependencies": { - "@0x/utils": "^4.4.1", + "@0x/utils": "^4.4.2", "@types/mocha": "^5.2.7", "chai": "^4.0.1", "lodash": "^4.17.11", diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index a6b48faeee..46bf4f27d9 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-wrappers", - "version": "9.1.8", + "version": "10.1.0", "description": "Smart TS wrappers for 0x smart contracts", "keywords": [ "0xproject", @@ -38,12 +38,12 @@ "node": ">=6.0.0" }, "devDependencies": { - "@0x/contracts-test-utils": "^3.1.11", + "@0x/contracts-test-utils": "^3.1.12", "@0x/coordinator-server": "0.1.1", - "@0x/dev-utils": "^2.2.5", - "@0x/fill-scenarios": "^3.0.14", - "@0x/migrations": "^4.1.10", - "@0x/subproviders": "^4.1.2", + "@0x/dev-utils": "^2.2.6", + "@0x/fill-scenarios": "^3.0.15", + "@0x/migrations": "^4.1.11", + "@0x/subproviders": "^5.0.0", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -71,17 +71,17 @@ "web3-provider-engine": "14.0.6" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.0.3", - "@0x/assert": "^2.1.1", - "@0x/base-contract": "^5.1.2", + "@0x/abi-gen-wrappers": "^5.1.0", + "@0x/assert": "^2.1.2", + "@0x/base-contract": "^5.3.0", "@0x/contract-addresses": "^3.0.2", - "@0x/contract-artifacts": "^2.0.2", - "@0x/json-schemas": "^3.1.11", - "@0x/order-utils": "^8.2.3", + "@0x/contract-artifacts": "^2.0.3", + "@0x/json-schemas": "^3.1.12", + "@0x/order-utils": "^8.2.4", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "ethereumjs-abi": "0.6.5", "ethereumjs-blockstream": "6.0.0", diff --git a/packages/contracts-gen/package.json b/packages/contracts-gen/package.json index 9562022881..51efbef29a 100644 --- a/packages/contracts-gen/package.json +++ b/packages/contracts-gen/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-gen", - "version": "1.0.11", + "version": "1.0.12", "engines": { "node": ">=6.12" }, @@ -30,7 +30,7 @@ "@0x/sol-resolver": "^2.0.9", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", + "@0x/utils": "^4.4.2", "ethereum-types": "^2.1.4", "lodash": "^4.17.11", "prettier": "^1.16.3", diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index 36cab54e11..8c105c55d3 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/dev-utils", - "version": "2.2.5", + "version": "2.2.6", "engines": { "node": ">=6.12" }, @@ -42,11 +42,11 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/subproviders": "^4.1.2", + "@0x/subproviders": "^5.0.0", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "@types/web3-provider-engine": "^14.0.0", "chai": "^4.0.1", "ethereum-types": "^2.1.4", diff --git a/packages/fill-scenarios/package.json b/packages/fill-scenarios/package.json index 969340b0d8..a61b9b975c 100644 --- a/packages/fill-scenarios/package.json +++ b/packages/fill-scenarios/package.json @@ -1,6 +1,6 @@ { "name": "@0x/fill-scenarios", - "version": "3.0.14", + "version": "3.0.15", "description": "0x order fill scenario generator", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -29,13 +29,13 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.0.3", - "@0x/base-contract": "^5.1.2", - "@0x/order-utils": "^8.2.3", + "@0x/abi-gen-wrappers": "^5.1.0", + "@0x/base-contract": "^5.3.0", + "@0x/order-utils": "^8.2.4", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "ethereum-types": "^2.1.4", "ethers": "~4.0.4", "lodash": "^4.17.11" diff --git a/packages/json-schemas/package.json b/packages/json-schemas/package.json index d1b645f750..69958707a4 100644 --- a/packages/json-schemas/package.json +++ b/packages/json-schemas/package.json @@ -1,6 +1,6 @@ { "name": "@0x/json-schemas", - "version": "3.1.11", + "version": "3.1.12", "engines": { "node": ">=6.12" }, @@ -47,7 +47,7 @@ }, "devDependencies": { "@0x/tslint-config": "^3.0.1", - "@0x/utils": "^4.4.1", + "@0x/utils": "^4.4.2", "@types/lodash.foreach": "^4.5.3", "@types/lodash.values": "^4.3.3", "@types/mocha": "^5.2.7", diff --git a/packages/migrations/package.json b/packages/migrations/package.json index 4efda1983a..b795b7f474 100644 --- a/packages/migrations/package.json +++ b/packages/migrations/package.json @@ -1,6 +1,6 @@ { "name": "@0x/migrations", - "version": "4.1.10", + "version": "4.1.11", "engines": { "node": ">=6.12" }, @@ -36,7 +36,7 @@ }, "license": "Apache-2.0", "devDependencies": { - "@0x/dev-utils": "^2.2.5", + "@0x/dev-utils": "^2.2.6", "@0x/tslint-config": "^3.0.1", "@0x/types": "^2.4.1", "@types/yargs": "^11.0.0", @@ -50,16 +50,16 @@ "yargs": "^10.0.3" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.0.3", - "@0x/base-contract": "^5.1.2", + "@0x/abi-gen-wrappers": "^5.1.0", + "@0x/base-contract": "^5.3.0", "@0x/contract-addresses": "^3.0.2", - "@0x/contract-artifacts": "^2.0.2", - "@0x/order-utils": "^8.2.3", - "@0x/sol-compiler": "^3.1.10", - "@0x/subproviders": "^4.1.2", + "@0x/contract-artifacts": "^2.0.3", + "@0x/order-utils": "^8.2.4", + "@0x/sol-compiler": "^3.1.11", + "@0x/subproviders": "^5.0.0", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "@ledgerhq/hw-app-eth": "^4.3.0", "@types/web3-provider-engine": "^14.0.0", "ethereum-types": "^2.1.4", diff --git a/packages/order-utils/package.json b/packages/order-utils/package.json index 1583627b6b..145a1366ad 100644 --- a/packages/order-utils/package.json +++ b/packages/order-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/order-utils", - "version": "8.2.3", + "version": "8.2.4", "engines": { "node": ">=6.12" }, @@ -36,12 +36,12 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/order-utils/README.md", "devDependencies": { - "@0x/dev-utils": "^2.2.5", + "@0x/dev-utils": "^2.2.6", "@0x/tslint-config": "^3.0.1", "@types/bn.js": "^4.11.0", "@types/lodash": "4.14.104", - "@types/web3-provider-engine": "^14.0.0", "@types/mocha": "^5.2.7", + "@types/web3-provider-engine": "^14.0.0", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -57,16 +57,16 @@ "web3-provider-engine": "14.0.6" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.0.3", - "@0x/assert": "^2.1.1", - "@0x/base-contract": "^5.1.2", + "@0x/abi-gen-wrappers": "^5.1.0", + "@0x/assert": "^2.1.2", + "@0x/base-contract": "^5.3.0", "@0x/contract-addresses": "^3.0.2", - "@0x/contract-artifacts": "^2.0.2", - "@0x/json-schemas": "^3.1.11", + "@0x/contract-artifacts": "^2.0.3", + "@0x/json-schemas": "^3.1.12", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "@types/node": "*", "bn.js": "^4.11.8", "ethereum-types": "^2.1.4", diff --git a/packages/order-watcher/package.json b/packages/order-watcher/package.json index b1901b41d6..7abe6db5a5 100644 --- a/packages/order-watcher/package.json +++ b/packages/order-watcher/package.json @@ -1,6 +1,6 @@ { "name": "@0x/order-watcher", - "version": "4.0.15", + "version": "4.0.16", "description": "An order watcher daemon that watches for order validity", "keywords": [ "0x", @@ -34,9 +34,9 @@ "node": ">=6.0.0" }, "devDependencies": { - "@0x/dev-utils": "^2.2.5", - "@0x/migrations": "^4.1.10", - "@0x/subproviders": "^4.1.2", + "@0x/dev-utils": "^2.2.6", + "@0x/migrations": "^4.1.11", + "@0x/subproviders": "^5.0.0", "@0x/tslint-config": "^3.0.1", "@types/bintrees": "^1.0.2", "@types/lodash": "4.14.104", @@ -59,19 +59,19 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.0.3", - "@0x/assert": "^2.1.1", - "@0x/base-contract": "^5.1.2", + "@0x/abi-gen-wrappers": "^5.1.0", + "@0x/assert": "^2.1.2", + "@0x/base-contract": "^5.3.0", "@0x/contract-addresses": "^3.0.2", - "@0x/contract-artifacts": "^2.0.2", - "@0x/contract-wrappers": "^9.1.8", - "@0x/fill-scenarios": "^3.0.14", - "@0x/json-schemas": "^3.1.11", - "@0x/order-utils": "^8.2.3", + "@0x/contract-artifacts": "^2.0.3", + "@0x/contract-wrappers": "^10.1.0", + "@0x/fill-scenarios": "^3.0.15", + "@0x/json-schemas": "^3.1.12", + "@0x/order-utils": "^8.2.4", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "bintrees": "^1.0.2", "ethereum-types": "^2.1.4", "ethereumjs-blockstream": "6.0.0", diff --git a/packages/sol-compiler/package.json b/packages/sol-compiler/package.json index 5eb81e9f80..79037f9451 100644 --- a/packages/sol-compiler/package.json +++ b/packages/sol-compiler/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-compiler", - "version": "3.1.10", + "version": "3.1.11", "engines": { "node": ">=6.12" }, @@ -43,14 +43,14 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-compiler/README.md", "devDependencies": { - "@0x/dev-utils": "^2.2.5", + "@0x/dev-utils": "^2.2.6", "@0x/tslint-config": "^3.0.1", "@types/mkdirp": "^0.5.2", + "@types/mocha": "^5.2.7", "@types/pluralize": "^0.0.29", "@types/require-from-string": "^1.2.0", "@types/semver": "5.5.0", "@types/web3-provider-engine": "^14.0.0", - "@types/mocha": "^5.2.7", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", @@ -70,13 +70,13 @@ "zeppelin-solidity": "1.8.0" }, "dependencies": { - "@0x/assert": "^2.1.1", - "@0x/json-schemas": "^3.1.11", + "@0x/assert": "^2.1.2", + "@0x/json-schemas": "^3.1.12", "@0x/sol-resolver": "^2.0.9", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "@types/yargs": "^11.0.0", "chalk": "^2.3.0", "chokidar": "^3.0.2", diff --git a/packages/sol-coverage/package.json b/packages/sol-coverage/package.json index 6b2d03f575..c3bf65275c 100644 --- a/packages/sol-coverage/package.json +++ b/packages/sol-coverage/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-coverage", - "version": "3.0.7", + "version": "3.0.8", "engines": { "node": ">=6.12" }, @@ -30,8 +30,8 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-coverage/README.md", "dependencies": { - "@0x/sol-tracing-utils": "^6.0.14", - "@0x/subproviders": "^4.1.2", + "@0x/sol-tracing-utils": "^6.0.15", + "@0x/subproviders": "^5.0.0", "@0x/typescript-typings": "^4.2.4", "@types/minimatch": "^3.0.3", "ethereum-types": "^2.1.4", diff --git a/packages/sol-doc/package.json b/packages/sol-doc/package.json index e669391559..6bf7138cd6 100644 --- a/packages/sol-doc/package.json +++ b/packages/sol-doc/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-doc", - "version": "2.0.14", + "version": "2.0.15", "description": "Solidity documentation generator", "main": "lib/src/index.js", "types": "lib/src/index.d.js", @@ -26,9 +26,9 @@ "author": "F. Eugene Aumson", "license": "Apache-2.0", "dependencies": { - "@0x/sol-compiler": "^3.1.10", + "@0x/sol-compiler": "^3.1.11", "@0x/types": "^2.4.1", - "@0x/utils": "^4.4.1", + "@0x/utils": "^4.4.2", "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11", diff --git a/packages/sol-profiler/package.json b/packages/sol-profiler/package.json index 1a7b6b3aea..45fa5421a7 100644 --- a/packages/sol-profiler/package.json +++ b/packages/sol-profiler/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-profiler", - "version": "3.1.9", + "version": "3.1.10", "engines": { "node": ">=6.12" }, @@ -30,10 +30,10 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-profiler/README.md", "dependencies": { - "@0x/sol-tracing-utils": "^6.0.14", - "@0x/subproviders": "^4.1.2", + "@0x/sol-tracing-utils": "^6.0.15", + "@0x/subproviders": "^5.0.0", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", + "@0x/utils": "^4.4.2", "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11", diff --git a/packages/sol-trace/package.json b/packages/sol-trace/package.json index 7bf83101cf..4dc2a84d53 100644 --- a/packages/sol-trace/package.json +++ b/packages/sol-trace/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-trace", - "version": "2.0.15", + "version": "2.0.16", "engines": { "node": ">=6.12" }, @@ -30,8 +30,8 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-trace/README.md", "dependencies": { - "@0x/sol-tracing-utils": "^6.0.14", - "@0x/subproviders": "^4.1.2", + "@0x/sol-tracing-utils": "^6.0.15", + "@0x/subproviders": "^5.0.0", "@0x/typescript-typings": "^4.2.4", "chalk": "^2.3.0", "ethereum-types": "^2.1.4", diff --git a/packages/sol-tracing-utils/package.json b/packages/sol-tracing-utils/package.json index ac4497d94f..df8e98d8b8 100644 --- a/packages/sol-tracing-utils/package.json +++ b/packages/sol-tracing-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-tracing-utils", - "version": "6.0.14", + "version": "6.0.15", "engines": { "node": ">=6.12" }, @@ -43,13 +43,13 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-tracing-utils/README.md", "dependencies": { - "@0x/dev-utils": "^2.2.5", - "@0x/sol-compiler": "^3.1.10", + "@0x/dev-utils": "^2.2.6", + "@0x/sol-compiler": "^3.1.11", "@0x/sol-resolver": "^2.0.9", - "@0x/subproviders": "^4.1.2", + "@0x/subproviders": "^5.0.0", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "@types/solidity-parser-antlr": "^0.2.3", "chalk": "^2.3.0", "ethereum-types": "^2.1.4", diff --git a/packages/sra-spec/package.json b/packages/sra-spec/package.json index 86231bf050..727659f6e3 100644 --- a/packages/sra-spec/package.json +++ b/packages/sra-spec/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sra-spec", - "version": "2.0.12", + "version": "2.0.13", "engines": { "node": ">=6.12" }, @@ -36,7 +36,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sra-spec/README.md", "dependencies": { - "@0x/json-schemas": "^3.1.11", + "@0x/json-schemas": "^3.1.12", "@loopback/openapi-v3-types": "^0.8.2" }, "devDependencies": { diff --git a/packages/subproviders/package.json b/packages/subproviders/package.json index 6d24af5952..5d53521706 100644 --- a/packages/subproviders/package.json +++ b/packages/subproviders/package.json @@ -1,6 +1,6 @@ { "name": "@0x/subproviders", - "version": "4.1.2", + "version": "5.0.0", "engines": { "node": ">=6.12" }, @@ -30,11 +30,11 @@ } }, "dependencies": { - "@0x/assert": "^2.1.1", + "@0x/assert": "^2.1.2", "@0x/types": "^2.4.1", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", - "@0x/web3-wrapper": "^6.0.8", + "@0x/utils": "^4.4.2", + "@0x/web3-wrapper": "^6.0.9", "@ledgerhq/hw-app-eth": "^4.3.0", "@ledgerhq/hw-transport-u2f": "4.24.0", "@types/hdkey": "^0.7.0", diff --git a/packages/utils/package.json b/packages/utils/package.json index c0f15a55c8..b7791a4369 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/utils", - "version": "4.4.1", + "version": "4.4.2", "engines": { "node": ">=6.12" }, diff --git a/packages/web3-wrapper/package.json b/packages/web3-wrapper/package.json index 305a2c37d0..0c35aa1201 100644 --- a/packages/web3-wrapper/package.json +++ b/packages/web3-wrapper/package.json @@ -1,6 +1,6 @@ { "name": "@0x/web3-wrapper", - "version": "6.0.8", + "version": "6.0.9", "engines": { "node": ">=6.12" }, @@ -55,10 +55,10 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/assert": "^2.1.1", - "@0x/json-schemas": "^3.1.11", + "@0x/assert": "^2.1.2", + "@0x/json-schemas": "^3.1.12", "@0x/typescript-typings": "^4.2.4", - "@0x/utils": "^4.4.1", + "@0x/utils": "^4.4.2", "ethereum-types": "^2.1.4", "ethereumjs-util": "^5.1.1", "ethers": "~4.0.4", From d8b11238e64d8047afbead609ae1022ceefe77f2 Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 31 Jul 2019 14:02:18 -0700 Subject: [PATCH 074/162] reverted changelog for packages not published --- contracts/asset-proxy/CHANGELOG.json | 3 +-- contracts/asset-proxy/package.json | 2 +- contracts/coordinator/CHANGELOG.json | 3 +-- contracts/coordinator/package.json | 2 +- contracts/dev-utils/CHANGELOG.json | 2 +- contracts/dev-utils/package.json | 2 +- contracts/exchange-forwarder/CHANGELOG.json | 3 +-- contracts/exchange-forwarder/package.json | 2 +- contracts/exchange/CHANGELOG.json | 3 +-- contracts/exchange/package.json | 2 +- contracts/extensions/CHANGELOG.json | 3 +-- contracts/extensions/package.json | 2 +- contracts/multisig/CHANGELOG.json | 3 +-- contracts/multisig/package.json | 2 +- 14 files changed, 14 insertions(+), 20 deletions(-) diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index 6984612451..bacae283f3 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -6,8 +6,7 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ], - "timestamp": 1564604963 + ] }, { "timestamp": 1563957393, diff --git a/contracts/asset-proxy/package.json b/contracts/asset-proxy/package.json index 5024b49a00..57fdf88bcb 100644 --- a/contracts/asset-proxy/package.json +++ b/contracts/asset-proxy/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-asset-proxy", - "version": "2.2.4", + "version": "2.2.3", "engines": { "node": ">=6.12" }, diff --git a/contracts/coordinator/CHANGELOG.json b/contracts/coordinator/CHANGELOG.json index e8dcaa7a37..e0b850a28b 100644 --- a/contracts/coordinator/CHANGELOG.json +++ b/contracts/coordinator/CHANGELOG.json @@ -6,8 +6,7 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ], - "timestamp": 1564604963 + ] }, { "timestamp": 1563957393, diff --git a/contracts/coordinator/package.json b/contracts/coordinator/package.json index b66b281369..491cf26042 100644 --- a/contracts/coordinator/package.json +++ b/contracts/coordinator/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-coordinator", - "version": "2.0.9", + "version": "2.0.8", "engines": { "node": ">=6.12" }, diff --git a/contracts/dev-utils/CHANGELOG.json b/contracts/dev-utils/CHANGELOG.json index e46e0a8421..5e077c5fab 100644 --- a/contracts/dev-utils/CHANGELOG.json +++ b/contracts/dev-utils/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "0.0.6", + "version": "0.0.5", "changes": [ { "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", diff --git a/contracts/dev-utils/package.json b/contracts/dev-utils/package.json index 3b2f398fe0..29641377e9 100644 --- a/contracts/dev-utils/package.json +++ b/contracts/dev-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-dev-utils", - "version": "0.0.6", + "version": "0.0.5", "engines": { "node": ">=6.12" }, diff --git a/contracts/exchange-forwarder/CHANGELOG.json b/contracts/exchange-forwarder/CHANGELOG.json index a0c9b19ca9..0ab43b00e5 100644 --- a/contracts/exchange-forwarder/CHANGELOG.json +++ b/contracts/exchange-forwarder/CHANGELOG.json @@ -6,8 +6,7 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ], - "timestamp": 1564604963 + ] }, { "timestamp": 1563957393, diff --git a/contracts/exchange-forwarder/package.json b/contracts/exchange-forwarder/package.json index 8f4b2f7fff..135775eebe 100644 --- a/contracts/exchange-forwarder/package.json +++ b/contracts/exchange-forwarder/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange-forwarder", - "version": "3.0.8", + "version": "3.0.7", "engines": { "node": ">=6.12" }, diff --git a/contracts/exchange/CHANGELOG.json b/contracts/exchange/CHANGELOG.json index 750b38cac6..aec0453f09 100644 --- a/contracts/exchange/CHANGELOG.json +++ b/contracts/exchange/CHANGELOG.json @@ -6,8 +6,7 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ], - "timestamp": 1564604963 + ] }, { "timestamp": 1563957393, diff --git a/contracts/exchange/package.json b/contracts/exchange/package.json index 3300f13690..c43682235d 100644 --- a/contracts/exchange/package.json +++ b/contracts/exchange/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange", - "version": "2.1.10", + "version": "2.1.9", "engines": { "node": ">=6.12" }, diff --git a/contracts/extensions/CHANGELOG.json b/contracts/extensions/CHANGELOG.json index aaa42804c0..88d1b84925 100644 --- a/contracts/extensions/CHANGELOG.json +++ b/contracts/extensions/CHANGELOG.json @@ -6,8 +6,7 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ], - "timestamp": 1564604963 + ] }, { "timestamp": 1563957393, diff --git a/contracts/extensions/package.json b/contracts/extensions/package.json index d8755d2000..c92471d2fd 100644 --- a/contracts/extensions/package.json +++ b/contracts/extensions/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-extensions", - "version": "4.0.4", + "version": "4.0.3", "engines": { "node": ">=6.12" }, diff --git a/contracts/multisig/CHANGELOG.json b/contracts/multisig/CHANGELOG.json index 3b0d15f60e..f0b0252ff7 100644 --- a/contracts/multisig/CHANGELOG.json +++ b/contracts/multisig/CHANGELOG.json @@ -6,8 +6,7 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ], - "timestamp": 1564604963 + ] }, { "timestamp": 1563957393, diff --git a/contracts/multisig/package.json b/contracts/multisig/package.json index 4545095b4d..75e2de1553 100644 --- a/contracts/multisig/package.json +++ b/contracts/multisig/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-multisig", - "version": "3.1.10", + "version": "3.1.9", "engines": { "node": ">=6.12" }, From ae531eef5ffed294a2af133abb3f35371ec575b2 Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 31 Jul 2019 14:14:35 -0700 Subject: [PATCH 075/162] Updated CHANGELOGS --- contracts/asset-proxy/CHANGELOG.json | 3 +- contracts/coordinator/CHANGELOG.json | 3 +- contracts/dev-utils/CHANGELOG.json | 9 + contracts/dev-utils/CHANGELOG.md | 4 + contracts/exchange-forwarder/CHANGELOG.json | 3 +- contracts/exchange/CHANGELOG.json | 3 +- contracts/extensions/CHANGELOG.json | 3 +- contracts/multisig/CHANGELOG.json | 3 +- yarn.lock | 852 +++++++++++++++++++- 9 files changed, 838 insertions(+), 45 deletions(-) diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index bacae283f3..297ad6a74e 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564607468 }, { "timestamp": 1563957393, diff --git a/contracts/coordinator/CHANGELOG.json b/contracts/coordinator/CHANGELOG.json index e0b850a28b..c5825a6e5f 100644 --- a/contracts/coordinator/CHANGELOG.json +++ b/contracts/coordinator/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564607468 }, { "timestamp": 1563957393, diff --git a/contracts/dev-utils/CHANGELOG.json b/contracts/dev-utils/CHANGELOG.json index 5e077c5fab..4c9436436f 100644 --- a/contracts/dev-utils/CHANGELOG.json +++ b/contracts/dev-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1564607468, + "version": "0.0.6", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "0.0.5", "changes": [ diff --git a/contracts/dev-utils/CHANGELOG.md b/contracts/dev-utils/CHANGELOG.md index db58ba3cdc..dbd2690748 100644 --- a/contracts/dev-utils/CHANGELOG.md +++ b/contracts/dev-utils/CHANGELOG.md @@ -7,6 +7,10 @@ CHANGELOG ## v0.0.6 - _July 31, 2019_ + * Dependencies updated + +## v0.0.5 - _July 31, 2019_ + * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) ## v0.0.5 - _July 24, 2019_ diff --git a/contracts/exchange-forwarder/CHANGELOG.json b/contracts/exchange-forwarder/CHANGELOG.json index 0ab43b00e5..2c684fea2d 100644 --- a/contracts/exchange-forwarder/CHANGELOG.json +++ b/contracts/exchange-forwarder/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564607468 }, { "timestamp": 1563957393, diff --git a/contracts/exchange/CHANGELOG.json b/contracts/exchange/CHANGELOG.json index aec0453f09..555aa19dc6 100644 --- a/contracts/exchange/CHANGELOG.json +++ b/contracts/exchange/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564607468 }, { "timestamp": 1563957393, diff --git a/contracts/extensions/CHANGELOG.json b/contracts/extensions/CHANGELOG.json index 88d1b84925..99ceeec136 100644 --- a/contracts/extensions/CHANGELOG.json +++ b/contracts/extensions/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564607468 }, { "timestamp": 1563957393, diff --git a/contracts/multisig/CHANGELOG.json b/contracts/multisig/CHANGELOG.json index f0b0252ff7..5d6fa2a514 100644 --- a/contracts/multisig/CHANGELOG.json +++ b/contracts/multisig/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies.", "pr": 1995 } - ] + ], + "timestamp": 1564607468 }, { "timestamp": 1563957393, diff --git a/yarn.lock b/yarn.lock index 3860d45a6a..20920898ad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -716,6 +716,67 @@ lodash "^4.17.11" uuid "^3.3.2" +"@0x/contract-wrappers@^9.1.3", "@0x/contract-wrappers@^9.1.7": + version "9.1.8" + resolved "https://registry.yarnpkg.com/@0x/contract-wrappers/-/contract-wrappers-9.1.8.tgz#5923d35af3e4b442a57d02f74e02620b2d5b1356" + integrity sha512-+qx0lwDAuTitP8sXA4bxRS+W81i5TaXWziD/Fcraj40XGeuHFnRXVY5FEl9V7TC0sEDyvnnF2VFc5Y+v2CnYVQ== + dependencies: + "@0x/abi-gen-wrappers" "^5.0.3" + "@0x/assert" "^2.1.1" + "@0x/contract-addresses" "^3.0.2" + "@0x/contract-artifacts" "^2.0.2" + "@0x/json-schemas" "^3.1.11" + "@0x/order-utils" "^8.2.3" + "@0x/types" "^2.4.1" + "@0x/typescript-typings" "^4.2.4" + "@0x/utils" "^4.4.1" + "@0x/web3-wrapper" "^6.0.8" + ethereum-types "^2.1.4" + ethereumjs-abi "0.6.5" + ethereumjs-blockstream "6.0.0" + ethereumjs-util "^5.1.1" + ethers "~4.0.4" + http-status-codes "^1.3.2" + js-sha3 "^0.7.0" + lodash "^4.17.11" + uuid "^3.3.2" + +"@0x/contracts-asset-proxy@^2.2.4": + version "2.2.3" + dependencies: + "@0x/base-contract" "^5.3.0" + "@0x/contracts-erc1155" "^1.1.11" + "@0x/contracts-erc20" "^2.2.10" + "@0x/contracts-erc721" "^2.1.11" + "@0x/contracts-utils" "^3.2.0" + "@0x/order-utils" "^8.2.4" + "@0x/types" "^2.4.1" + "@0x/typescript-typings" "^4.2.4" + "@0x/utils" "^4.4.2" + "@0x/web3-wrapper" "^6.0.9" + ethereum-types "^2.1.4" + ethereumjs-util "^5.1.1" + lodash "^4.17.11" + +"@0x/contracts-exchange@^2.1.10": + version "2.1.9" + dependencies: + "@0x/base-contract" "^5.3.0" + "@0x/contracts-asset-proxy" "^2.2.4" + "@0x/contracts-erc1155" "^1.1.11" + "@0x/contracts-erc20" "^2.2.10" + "@0x/contracts-erc721" "^2.1.11" + "@0x/contracts-exchange-libs" "^3.0.4" + "@0x/contracts-utils" "^3.2.0" + "@0x/order-utils" "^8.2.4" + "@0x/types" "^2.4.1" + "@0x/typescript-typings" "^4.2.4" + "@0x/utils" "^4.4.2" + "@0x/web3-wrapper" "^6.0.9" + ethereum-types "^2.1.4" + ethereumjs-util "^5.1.1" + lodash "^4.17.11" + "@0x/contracts-utils@2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@0x/contracts-utils/-/contracts-utils-2.0.1.tgz#32e298ab5e6edb045c37294063ff928b629db0a4" @@ -804,6 +865,36 @@ ethers "~4.0.4" lodash "^4.17.11" +"@0x/subproviders@^4.0.4", "@0x/subproviders@^4.0.6", "@0x/subproviders@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@0x/subproviders/-/subproviders-4.1.2.tgz#ab7bb0f482b11ccb4615fb5dd8ca85199cd0ae23" + integrity sha512-PaK/+cC6+o3glVITnBdb/AN/ej7ulfr49KGftNRATB8Y/yI6Xa3adqgFvDh7jiKBoB/auTRFQ/TabQTcieKl6g== + dependencies: + "@0x/assert" "^2.1.1" + "@0x/types" "^2.4.1" + "@0x/typescript-typings" "^4.2.4" + "@0x/utils" "^4.4.1" + "@0x/web3-wrapper" "^6.0.8" + "@ledgerhq/hw-app-eth" "^4.3.0" + "@ledgerhq/hw-transport-u2f" "4.24.0" + "@types/eth-lightwallet" "^3.0.0" + "@types/hdkey" "^0.7.0" + "@types/web3-provider-engine" "^14.0.0" + bip39 "^2.5.0" + bn.js "^4.11.8" + eth-lightwallet "^3.0.1" + ethereum-types "^2.1.4" + ethereumjs-tx "^1.3.5" + ethereumjs-util "^5.1.1" + ganache-core "^2.5.3" + hdkey "^0.7.1" + json-rpc-error "2.0.0" + lodash "^4.17.11" + semaphore-async-await "^1.5.1" + web3-provider-engine "14.0.6" + optionalDependencies: + "@ledgerhq/hw-transport-node-hid" "^4.3.0" + "@0x/web3-wrapper@^4.0.1": version "4.0.2" resolved "https://registry.npmjs.org/@0x/web3-wrapper/-/web3-wrapper-4.0.2.tgz#d4e0a4fa1217155e1aed4cd91086654fd99f2959" @@ -1713,6 +1804,13 @@ "@types/cheerio" "*" "@types/react" "*" +"@types/eth-lightwallet@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/eth-lightwallet/-/eth-lightwallet-3.0.0.tgz#9be5b59dc6fb3fcdb01e65c2c2a79cd601f72dd4" + integrity sha512-AgE1V0Z9VqZ3bwZgUeIwJkKuyCP/vFaIFtZd7OZxhwD0Vsqjy9HqfT6IolrxXCTLWy9YkqcN7gL1jtIiH+Ml7Q== + dependencies: + "@types/node" "*" + "@types/ethereum-protocol@*": version "1.0.0" resolved "https://registry.npmjs.org/@types/ethereum-protocol/-/ethereum-protocol-1.0.0.tgz#416e3827d5fdfa4658b0045b35a008747871b271" @@ -2480,6 +2578,13 @@ ansi-colors@3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" +ansi-colors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" + integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA== + dependencies: + ansi-wrap "^0.1.0" + ansi-colors@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.1.0.tgz#dcfaacc90ef9187de413ec3ef8d5eb981a98808f" @@ -2524,7 +2629,7 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-wrap@0.1.0: +ansi-wrap@0.1.0, ansi-wrap@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" @@ -2616,10 +2721,24 @@ arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" +arr-filter@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" + integrity sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4= + dependencies: + make-iterator "^1.0.0" + arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" +arr-map@^2.0.0, arr-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" + integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ= + dependencies: + make-iterator "^1.0.0" + arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" @@ -2632,7 +2751,7 @@ array-differ@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-2.1.0.tgz#4b9c1c3f14b906757082925769e8ab904f4801b1" -array-each@^1.0.1: +array-each@^1.0.0, array-each@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" @@ -2660,6 +2779,21 @@ array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" +array-initial@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" + integrity sha1-L6dLJnOTccOUe9enrcc74zSz15U= + dependencies: + array-slice "^1.0.0" + is-number "^4.0.0" + +array-last@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" + integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== + dependencies: + is-number "^4.0.0" + array-map@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" @@ -2672,6 +2806,15 @@ array-slice@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" +array-sort@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" + integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== + dependencies: + default-compare "^1.0.0" + get-value "^2.0.6" + kind-of "^5.0.2" + array-union@^1.0.1, array-union@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -2750,6 +2893,16 @@ async-child-process@^1.1.1: dependencies: babel-runtime "^6.11.6" +async-done@^1.2.0, async-done@^1.2.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" + integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.2" + process-nextick-args "^2.0.0" + stream-exhaust "^1.0.1" + async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" @@ -2774,6 +2927,13 @@ async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" +async-settle@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" + integrity sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs= + dependencies: + async-done "^1.2.2" + async@0.2.9: version "0.2.9" resolved "https://registry.yarnpkg.com/async/-/async-0.2.9.tgz#df63060fbf3d33286a76aaf6d55a2986d9ff8619" @@ -2792,6 +2952,13 @@ async@2.6.1, async@^2.1.4: dependencies: lodash "^4.17.10" +async@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" + integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== + dependencies: + lodash "^4.17.11" + async@^0.9.0, async@~0.9.0: version "0.9.2" resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" @@ -2802,6 +2969,13 @@ async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0, async@^2.6.0: dependencies: lodash "^4.14.0" +async@^2.6.1: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + async@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9" @@ -3574,6 +3748,21 @@ babylon@^6.1.21, babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" +bach@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" + integrity sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA= + dependencies: + arr-filter "^1.1.1" + arr-flatten "^1.0.1" + arr-map "^2.0.0" + array-each "^1.0.0" + array-initial "^1.0.0" + array-last "^1.1.1" + async-done "^1.2.2" + async-settle "^1.0.0" + now-and-later "^2.0.0" + backoff@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" @@ -3721,6 +3910,10 @@ bignumber.js@7.2.1: version "2.0.7" resolved "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2" +"bignumber.js@git+https://github.com/frozeman/bignumber.js-nolookahead.git": + version "2.0.7" + resolved "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934" + bignumber.js@~4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-4.1.0.tgz#db6f14067c140bd46624815a7916c92d9b6c24b1" @@ -3761,6 +3954,38 @@ bip66@^1.1.3: dependencies: safe-buffer "^5.0.1" +bitcore-lib@^0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/bitcore-lib/-/bitcore-lib-0.15.0.tgz#f924be13869f2aab7e04aeec5642ad3359b6cec2" + integrity sha512-AeXLWhiivF6CDFzrABZHT4jJrflyylDWTi32o30rF92HW9msfuKpjzrHtFKYGa9w0kNVv5HABQjCB3OEav4PhQ== + dependencies: + bn.js "=4.11.8" + bs58 "=4.0.1" + buffer-compare "=1.1.1" + elliptic "=6.4.0" + inherits "=2.0.1" + lodash "=4.17.4" + +bitcore-lib@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/bitcore-lib/-/bitcore-lib-0.16.0.tgz#a2c3ec1108cdb90386f728282ab833e0c77c9533" + integrity sha512-CEtcrPAH2gwgaMN+OPMJc18TBEak1+TtzMyafrqrIbK9PIa3kat195qBJhC0liJSHRiRr6IE2eLcXeIFFs+U8w== + dependencies: + bn.js "=4.11.8" + bs58 "=4.0.1" + buffer-compare "=1.1.1" + elliptic "=6.4.0" + inherits "=2.0.1" + lodash "=4.17.11" + +bitcore-mnemonic@^1.5.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/bitcore-mnemonic/-/bitcore-mnemonic-1.7.0.tgz#253295a773135e1a0b455871de614996afc8f5e1" + integrity sha512-1JV1okgz9Vv+Y4fG2m3ToR+BGdKA6tSoqjepIxA95BZjW6YaeopVW4iOe/dY9dnkZH4+LA2AJ4YbDE6H3ih3Yw== + dependencies: + bitcore-lib "^0.16.0" + unorm "^1.4.1" + bl@^1.0.0: version "1.2.2" resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" @@ -3809,10 +4034,15 @@ bn.js@4.11.7: version "4.11.7" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.7.tgz#ddb048e50d9482790094c13eb3fcfc833ce7ab46" -bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.3, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.4.0, bn.js@^4.8.0: +bn.js@4.11.8, bn.js@=4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.3, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.4.0, bn.js@^4.8.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" +bn.js@^2.0.3: + version "2.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-2.2.0.tgz#12162bc2ae71fc40a5626c33438f3a875cd37625" + integrity sha1-EhYrwq5x/EClYmwzQ486h1zTdiU= + body-parser@1.18.2, body-parser@^1.16.0, body-parser@^1.17.1: version "1.18.2" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" @@ -4046,16 +4276,16 @@ bs-logger@0.x: dependencies: fast-json-stable-stringify "^2.0.0" -bs58@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.1.tgz#55908d58f1982aba2008fa1bed8f91998a29bf8d" - -bs58@^4.0.0: +bs58@=4.0.1, bs58@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" dependencies: base-x "^3.0.2" +bs58@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.1.tgz#55908d58f1982aba2008fa1bed8f91998a29bf8d" + bs58check@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" @@ -4074,6 +4304,11 @@ btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" +buffer-compare@=1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-compare/-/buffer-compare-1.1.1.tgz#5be7be853af89198d1f4ddc090d1d66a48aef596" + integrity sha1-W+e+hTr4kZjR9N3AkNHWakiu9ZY= + buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -4102,7 +4337,7 @@ buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" -buffer@4.9.1, buffer@^4.3.0: +buffer@4.9.1, buffer@^4.3.0, buffer@^4.9.0: version "4.9.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" dependencies: @@ -4805,6 +5040,15 @@ collapse-white-space@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.4.tgz#ce05cf49e54c3277ae573036a26851ba430a0091" +collection-map@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" + integrity sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw= + dependencies: + arr-map "^2.0.2" + for-own "^1.0.0" + make-iterator "^1.0.0" + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -5238,6 +5482,14 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" +copy-props@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.4.tgz#93bb1cadfafd31da5bb8a9d4b41f471ec3a72dfe" + integrity sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A== + dependencies: + each-props "^1.3.0" + is-plain-object "^2.0.1" + copy-to-clipboard@^3, copy-to-clipboard@^3.0.8: version "3.0.8" resolved "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.0.8.tgz#f4e82f4a8830dce4666b7eb8ded0c9bcc313aba9" @@ -5426,7 +5678,7 @@ crypto-browserify@3.12.0, crypto-browserify@^3.11.0: randombytes "^2.0.0" randomfill "^1.0.3" -crypto-js@^3.1.4: +crypto-js@^3.1.4, crypto-js@^3.1.5: version "3.1.8" resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.1.8.tgz#715f070bf6014f2ae992a98b3929258b713f08d5" @@ -5806,6 +6058,13 @@ deepmerge@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.0.0.tgz#3e3110ca29205f120d7cb064960a39c3d2087c09" +default-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" + integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== + dependencies: + kind-of "^5.0.2" + default-gateway@^2.6.0: version "2.7.2" resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz#b7ef339e5e024b045467af403d50348db4642d0f" @@ -5819,6 +6078,11 @@ default-require-extensions@^1.0.0: dependencies: strip-bom "^2.0.0" +default-resolution@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" + integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= + defaults@^1.0.0, defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" @@ -6238,6 +6502,14 @@ duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" +each-props@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" + integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== + dependencies: + is-plain-object "^2.0.1" + object.defaults "^1.1.0" + ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -6277,7 +6549,7 @@ elliptic@6.3.3: hash.js "^1.0.0" inherits "^2.0.1" -elliptic@^6.0.0, elliptic@^6.2.3, elliptic@^6.4.0: +elliptic@=6.4.0, elliptic@^6.0.0, elliptic@^6.2.3, elliptic@^6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" dependencies: @@ -6289,6 +6561,16 @@ elliptic@^6.0.0, elliptic@^6.2.3, elliptic@^6.4.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" +elliptic@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-3.1.0.tgz#c21682ef762769b56a74201609105da11d5f60cc" + integrity sha1-whaC73YnabVqdCAWCRBdoR1fYMw= + dependencies: + bn.js "^2.0.3" + brorand "^1.0.1" + hash.js "^1.0.0" + inherits "^2.0.1" + emoji-regex@^7.0.1, emoji-regex@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -6301,7 +6583,7 @@ encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" -encoding-down@5.0.4: +encoding-down@5.0.4, encoding-down@~5.0.0: version "5.0.4" resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-5.0.4.tgz#1e477da8e9e9d0f7c8293d320044f8b2cd8e9614" dependencies: @@ -6455,7 +6737,16 @@ es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: es6-symbol "~3.1.1" next-tick "1" -es6-iterator@~2.0.3: +es5-ext@^0.10.46: + version "0.10.50" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778" + integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.1" + next-tick "^1.0.0" + +es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" dependencies: @@ -6484,6 +6775,16 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.1: d "1" es5-ext "~0.10.14" +es6-weak-map@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -6702,6 +7003,23 @@ eth-lib@0.2.7: elliptic "^6.4.0" xhr-request-promise "^0.1.2" +eth-lightwallet@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eth-lightwallet/-/eth-lightwallet-3.0.1.tgz#297022932aa568f4e4eb0873bff257f5e5b78709" + integrity sha512-79vVCETy+4l1b6wuOWwjqPW3Bom5ZK46BgkUNwaXhiMG1rrMRHjpjYEWMqH0JHeCzOzB4HBIFz7eK1/4s6w5nA== + dependencies: + bitcore-lib "^0.15.0" + bitcore-mnemonic "^1.5.0" + buffer "^4.9.0" + crypto-js "^3.1.5" + elliptic "^3.1.0" + ethereumjs-tx "^1.3.3" + ethereumjs-util "^5.1.1" + rlp "^2.0.0" + scrypt-async "^1.2.0" + tweetnacl "0.13.2" + web3 "0.20.2" + eth-query@^2.0.2, eth-query@^2.1.0, eth-query@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" @@ -6721,6 +7039,18 @@ eth-sig-util@2.1.2: tweetnacl "^1.0.0" tweetnacl-util "^0.15.0" +eth-sig-util@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-2.2.0.tgz#769fa3d296b450f6618dedeefe076642c923a16f" + integrity sha512-bAxW35bL4U2lrtjjV8rFGJ8B27z4Sn5v9eIaNdpPUnPfUAtrvx5j8atfyV+k+JOnbppcvKhWCO1rQSBk4kkAhw== + dependencies: + buffer "^5.2.1" + elliptic "^6.4.0" + ethereumjs-abi "0.6.5" + ethereumjs-util "^5.1.1" + tweetnacl "^1.0.0" + tweetnacl-util "^0.15.0" + eth-sig-util@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-1.4.2.tgz#8d958202c7edbaae839707fba6f09ff327606210" @@ -6746,6 +7076,16 @@ eth-tx-summary@^3.1.2: treeify "^1.0.1" web3-provider-engine "^13.3.2" +ethashjs@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ethashjs/-/ethashjs-0.0.7.tgz#30bfe4196726690a0c59d3b8272e70d4d0c34bae" + integrity sha1-ML/kGWcmaQoMWdO4Jy5w1NDDS64= + dependencies: + async "^1.4.2" + buffer-xor "^1.0.3" + ethereumjs-util "^4.0.1" + miller-rabin "^4.0.0" + ethereum-common@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" @@ -6761,6 +7101,14 @@ ethereumjs-abi@0.6.5: bn.js "^4.10.0" ethereumjs-util "^4.3.0" +ethereumjs-abi@0.6.7: + version "0.6.7" + resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.7.tgz#d1d1c5cdb8d910a7d97645ba9e93be5d153bba2e" + integrity sha512-EMLOA8ICO5yAaXDhjVEfYjsJIXYutY8ufTE93eEKwsVtp2usQreKwsDTJ9zvam3omYqNuffr8IONIqb2uUslGQ== + dependencies: + bn.js "^4.11.8" + ethereumjs-util "^6.0.0" + "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": version "0.6.5" resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7" @@ -6776,6 +7124,15 @@ ethereumjs-account@2.0.5: rlp "^2.0.0" safe-buffer "^5.1.1" +ethereumjs-account@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz#728f060c8e0c6e87f1e987f751d3da25422570a9" + integrity sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA== + dependencies: + ethereumjs-util "^6.0.0" + rlp "^2.2.1" + safe-buffer "^5.1.1" + ethereumjs-account@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-2.0.4.tgz#f8c30231bcb707f4514d8a052c1f9da103624d47" @@ -6793,6 +7150,16 @@ ethereumjs-block@2.1.0: ethereumjs-util "^5.0.0" merkle-patricia-tree "^2.1.2" +ethereumjs-block@2.2.0, ethereumjs-block@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.0.tgz#8c6c3ab4a5eff0a16d9785fbeedbe643f4dbcbef" + dependencies: + async "^2.0.1" + ethereumjs-common "^1.1.0" + ethereumjs-tx "^1.2.2" + ethereumjs-util "^5.0.0" + merkle-patricia-tree "^2.1.2" + ethereumjs-block@^1.2.2, ethereumjs-block@^1.4.1, ethereumjs-block@^1.6.0, ethereumjs-block@~1.7.0: version "1.7.1" resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz#78b88e6cc56de29a6b4884ee75379b6860333c3f" @@ -6803,15 +7170,21 @@ ethereumjs-block@^1.2.2, ethereumjs-block@^1.4.1, ethereumjs-block@^1.6.0, ether ethereumjs-util "^5.0.0" merkle-patricia-tree "^2.1.2" -ethereumjs-block@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.0.tgz#8c6c3ab4a5eff0a16d9785fbeedbe643f4dbcbef" +ethereumjs-blockchain@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/ethereumjs-blockchain/-/ethereumjs-blockchain-3.4.0.tgz#92240da6ecd86b3d8d324df69510b381f26c966b" + integrity sha512-wxPSmt6EQjhbywkFbftKcb0qRFIZWocHMuDa8/AB4eWL/UPYalNcDyLaxYbrDytmhHid3Uu8G/tA3C/TxZBuOQ== dependencies: - async "^2.0.1" + async "^2.6.1" + ethashjs "~0.0.7" + ethereumjs-block "~2.2.0" ethereumjs-common "^1.1.0" - ethereumjs-tx "^1.2.2" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" + ethereumjs-util "~6.0.0" + flow-stoplight "^1.0.0" + level-mem "^3.0.1" + lru-cache "^5.1.1" + safe-buffer "^5.1.2" + semaphore "^1.1.0" ethereumjs-blockstream@6.0.0: version "6.0.0" @@ -6855,6 +7228,18 @@ ethereumjs-util@5.2.0: safe-buffer "^5.1.1" secp256k1 "^3.0.1" +ethereumjs-util@6.1.0, ethereumjs-util@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz#e9c51e5549e8ebd757a339cc00f5380507e799c8" + dependencies: + bn.js "^4.11.0" + create-hash "^1.1.2" + ethjs-util "0.1.6" + keccak "^1.0.2" + rlp "^2.0.0" + safe-buffer "^5.1.1" + secp256k1 "^3.0.1" + ethereumjs-util@^4.0.1, ethereumjs-util@^4.3.0: version "4.5.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz#3e9428b317eebda3d7260d854fddda954b1f1bc6" @@ -6877,13 +7262,14 @@ ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereum safe-buffer "^5.1.1" secp256k1 "^3.0.1" -ethereumjs-util@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz#e9c51e5549e8ebd757a339cc00f5380507e799c8" +ethereumjs-util@~6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.0.0.tgz#f14841c182b918615afefd744207c7932c8536c0" + integrity sha512-E3yKUyl0Fs95nvTFQZe/ZSNcofhDzUsDlA5y2uoRmf1+Ec7gpGhNCsgKkZBRh7Br5op8mJcYF/jFbmjj909+nQ== dependencies: bn.js "^4.11.0" create-hash "^1.1.2" - ethjs-util "0.1.6" + ethjs-util "^0.1.6" keccak "^1.0.2" rlp "^2.0.0" safe-buffer "^5.1.1" @@ -6906,6 +7292,24 @@ ethereumjs-vm@2.6.0: rustbn.js "~0.2.0" safe-buffer "^5.1.1" +ethereumjs-vm@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-3.0.0.tgz#70fea2964a6797724b0d93fe080f9984ad18fcdd" + integrity sha512-lNu+G/RWPRCrQM5s24MqgU75PEGiAhL4Ombw0ew6m08d+amsxf/vGAb98yDNdQqqHKV6JbwO/tCGfdqXGI6Cug== + dependencies: + async "^2.1.2" + async-eventemitter "^0.2.2" + ethereumjs-account "^2.0.3" + ethereumjs-block "~2.2.0" + ethereumjs-blockchain "^3.4.0" + ethereumjs-common "^1.1.0" + ethereumjs-util "^6.0.0" + fake-merkle-patricia-tree "^1.0.1" + functional-red-black-tree "^1.0.1" + merkle-patricia-tree "^2.3.2" + rustbn.js "~0.2.0" + safe-buffer "^5.1.1" + ethereumjs-vm@^2.0.2, ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4: version "2.3.4" resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.3.4.tgz#f635d7cb047571a1840a6e9a74d29de4488f8ad6" @@ -6975,7 +7379,7 @@ ethjs-unit@0.1.6: bn.js "4.11.6" number-to-bn "1.7.0" -ethjs-util@0.1.6: +ethjs-util@0.1.6, ethjs-util@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" dependencies: @@ -7330,6 +7734,16 @@ fancy-log@^1.1.0: color-support "^1.1.3" time-stamp "^1.0.0" +fancy-log@^1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" + integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== + dependencies: + ansi-gray "^0.1.1" + color-support "^1.1.3" + parse-node-version "^1.0.0" + time-stamp "^1.0.0" + fast-deep-equal@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" @@ -7604,6 +8018,16 @@ findup-sync@^2.0.0: micromatch "^3.0.4" resolve-dir "^1.0.1" +findup-sync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + fined@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476" @@ -7667,6 +8091,11 @@ flickity@^2.1.1: tap-listener "^2.0.0" unidragger "^2.3.0" +flow-stoplight@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/flow-stoplight/-/flow-stoplight-1.0.0.tgz#4a292c5bcff8b39fa6cc0cb1a853d86f27eeff7b" + integrity sha1-SiksW8/4s5+mzAyxqFPYbyfu/3s= + flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" @@ -7910,7 +8339,7 @@ function.prototype.name@^1.1.0: function-bind "^1.1.1" is-callable "^1.1.3" -functional-red-black-tree@^1.0.1: +functional-red-black-tree@^1.0.1, functional-red-black-tree@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" @@ -7922,6 +8351,39 @@ ganache-cli@6.4.1: source-map-support "0.5.9" yargs "11.1.0" +ganache-core@^2.5.3: + version "2.6.1" + resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.6.1.tgz#b97156cd53d0492477c1229d57f8a97763d30d46" + integrity sha512-P3X8yo1GAabYuc8SOnWAFyHL8LhOlNOG6amtItgOEDBTUXMKlkGKP42OxjKovxCAlE7d9CXmYXo1Bu0rffBm9w== + dependencies: + abstract-leveldown "3.0.0" + async "2.6.2" + bip39 "2.5.0" + cachedown "1.0.0" + clone "2.1.2" + debug "3.2.6" + encoding-down "5.0.4" + eth-sig-util "2.2.0" + ethereumjs-abi "0.6.7" + ethereumjs-account "3.0.0" + ethereumjs-block "2.2.0" + ethereumjs-tx "1.3.7" + ethereumjs-util "6.1.0" + ethereumjs-vm "3.0.0" + heap "0.2.6" + level-sublevel "6.6.4" + levelup "3.1.1" + lodash "4.17.14" + merkle-patricia-tree "2.3.2" + seedrandom "3.0.1" + source-map-support "0.5.12" + tmp "0.1.0" + web3-provider-engine "14.2.0" + websocket "1.0.29" + optionalDependencies: + ethereumjs-wallet "0.6.3" + web3 "1.0.0-beta.35" + ganache-core@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.6.0.tgz#19001547893ff9f6d494fcaed66c52edd808f3c0" @@ -8195,6 +8657,18 @@ glob-watcher@^0.0.6: dependencies: gaze "^0.5.1" +glob-watcher@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.3.tgz#88a8abf1c4d131eb93928994bc4a593c2e5dd626" + integrity sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg== + dependencies: + anymatch "^2.0.0" + async-done "^1.2.0" + chokidar "^2.0.0" + is-negated-glob "^1.0.0" + just-debounce "^1.0.0" + object.defaults "^1.1.0" + glob2base@^0.0.12: version "0.0.12" resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" @@ -8437,6 +8911,30 @@ gud@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" +gulp-cli@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.2.0.tgz#5533126eeb7fe415a7e3e84a297d334d5cf70ebc" + integrity sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA== + dependencies: + ansi-colors "^1.0.1" + archy "^1.0.0" + array-sort "^1.0.0" + color-support "^1.1.3" + concat-stream "^1.6.0" + copy-props "^2.0.1" + fancy-log "^1.3.2" + gulplog "^1.0.0" + interpret "^1.1.0" + isobject "^3.0.1" + liftoff "^3.1.0" + matchdep "^2.0.0" + mute-stdout "^1.0.0" + pretty-hrtime "^1.0.0" + replace-homedir "^1.0.0" + semver-greatest-satisfied-range "^1.1.0" + v8flags "^3.0.1" + yargs "^7.1.0" + gulp-util@^3.0.0: version "3.0.8" resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" @@ -8478,6 +8976,16 @@ gulp@^3.9.1: v8flags "^2.0.2" vinyl-fs "^0.3.0" +gulp@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa" + integrity sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA== + dependencies: + glob-watcher "^5.0.3" + gulp-cli "^2.2.0" + undertaker "^1.2.1" + vinyl-fs "^3.0.0" + gulplog@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" @@ -9038,7 +9546,7 @@ imagesloaded@^4.1.3: dependencies: ev-emitter "^1.0.0" -immediate@^3.2.3: +immediate@^3.2.3, immediate@~3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" @@ -9119,7 +9627,7 @@ inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, i version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" -inherits@2.0.1: +inherits@2.0.1, inherits@=2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" @@ -10399,6 +10907,11 @@ jump.js@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/jump.js/-/jump.js-1.0.1.tgz#0de2b1631ba9a1c2c6b8572ad277d877e8503600" +just-debounce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea" + integrity sha1-h/zPrv/AtozRnVX2cilD+SnqNeo= + just-extend@^1.1.27: version "1.1.27" resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-1.1.27.tgz#ec6e79410ff914e472652abfa0e603c03d60e905" @@ -10439,7 +10952,7 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" -kind-of@^5.0.0: +kind-of@^5.0.0, kind-of@^5.0.2: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" @@ -10457,6 +10970,14 @@ kleur@^2.0.1: version "2.0.2" resolved "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300" +last-run@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" + integrity sha1-RblpQsF7HHnHchmCWbqUO+v4yls= + dependencies: + default-resolution "^2.0.0" + es6-weak-map "^2.0.1" + latest-version@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" @@ -10601,6 +11122,22 @@ level-iterator-stream@~3.0.0: readable-stream "^2.3.6" xtend "^4.0.0" +level-mem@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/level-mem/-/level-mem-3.0.1.tgz#7ce8cf256eac40f716eb6489654726247f5a89e5" + integrity sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg== + dependencies: + level-packager "~4.0.0" + memdown "~3.0.0" + +level-packager@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-4.0.1.tgz#7e7d3016af005be0869bc5fa8de93d2a7f56ffe6" + integrity sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q== + dependencies: + encoding-down "~5.0.0" + levelup "^3.0.0" + level-post@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/level-post/-/level-post-1.0.7.tgz#19ccca9441a7cc527879a0635000f06d5e8f27d0" @@ -10629,7 +11166,7 @@ level-ws@0.0.0: readable-stream "~1.0.15" xtend "~2.1.1" -levelup@3.1.1: +levelup@3.1.1, levelup@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/levelup/-/levelup-3.1.1.tgz#c2c0b3be2b4dc316647c53b42e2f559e232d2189" dependencies: @@ -10683,6 +11220,20 @@ liftoff@^2.1.0: rechoir "^0.6.2" resolve "^1.1.7" +liftoff@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" + integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== + dependencies: + extend "^3.0.0" + findup-sync "^3.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + listr-silent-renderer@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" @@ -11070,11 +11621,21 @@ lodash.words@^3.0.0: dependencies: lodash._root "^3.0.0" -lodash@4.17.11: +lodash@4.17.11, lodash@=4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== +lodash@4.17.14: + version "4.17.14" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" + integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== + +lodash@=4.17.4: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + integrity sha1-eCA6TRwyiuHYbcpkYONptX9AVa4= + lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" @@ -11336,6 +11897,16 @@ marked@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/marked/-/marked-0.4.0.tgz#9ad2c2a7a1791f10a852e0112f77b571dce10c66" +matchdep@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" + integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4= + dependencies: + findup-sync "^2.0.0" + micromatch "^3.0.4" + resolve "^1.4.0" + stack-trace "0.0.10" + matchmediaquery@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/matchmediaquery/-/matchmediaquery-0.3.0.tgz#6f672bcdbc44de16825c6917fbcdcfb9b82607b1" @@ -11414,6 +11985,18 @@ memdown@^1.0.0: ltgt "~2.2.0" safe-buffer "~5.1.1" +memdown@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/memdown/-/memdown-3.0.0.tgz#93aca055d743b20efc37492e9e399784f2958309" + integrity sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA== + dependencies: + abstract-leveldown "~5.0.0" + functional-red-black-tree "~1.0.1" + immediate "~3.2.3" + inherits "~2.0.1" + ltgt "~2.2.0" + safe-buffer "~5.1.1" + memoize-one@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.0.tgz#fc5e2f1427a216676a62ec652cf7398cfad123db" @@ -11513,7 +12096,7 @@ merkle-patricia-tree@2.3.1, merkle-patricia-tree@^2.1.2: rlp "^2.0.0" semaphore ">=1.0.1" -merkle-patricia-tree@^2.3.2: +merkle-patricia-tree@2.3.2, merkle-patricia-tree@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz#982ca1b5a0fde00eed2f6aeed1f9152860b8208a" dependencies: @@ -11857,6 +12440,11 @@ multipipe@^0.1.2: dependencies: duplexer2 "0.0.2" +mute-stdout@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" + integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== + mute-stream@0.0.7, mute-stream@~0.0.4: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -11952,7 +12540,7 @@ neo-async@^2.6.0: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" -next-tick@1: +next-tick@1, next-tick@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" @@ -12521,7 +13109,7 @@ object.assign@4.1.0, object.assign@^4.0.4, object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.defaults@^1.1.0: +object.defaults@^1.0.0, object.defaults@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" dependencies: @@ -12566,6 +13154,14 @@ object.pick@^1.2.0, object.pick@^1.3.0: dependencies: isobject "^3.0.1" +object.reduce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" + integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + object.values@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a" @@ -13032,6 +13628,11 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-node-version@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" @@ -14861,7 +15462,7 @@ remove-bom-stream@^1.2.0: safe-buffer "^5.1.0" through2 "^2.0.3" -remove-trailing-separator@^1.0.1: +remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -14897,6 +15498,15 @@ replace-ext@1.0.0, replace-ext@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" +replace-homedir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" + integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw= + dependencies: + homedir-polyfill "^1.0.1" + is-absolute "^1.0.0" + remove-trailing-separator "^1.1.0" + request-ip@~2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/request-ip/-/request-ip-2.0.2.tgz#deeae6d4af21768497db8cd05fa37143f8f1257e" @@ -15098,7 +15708,7 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2: dependencies: path-parse "^1.0.5" -resolve@^1.10.0: +resolve@^1.10.0, resolve@^1.4.0: version "1.11.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" dependencies: @@ -15175,6 +15785,14 @@ rlp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.0.0.tgz#9db384ff4b89a8f61563d92395d8625b18f3afb0" +rlp@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.3.tgz#7f94aef86cec412df87d5ea1d8cb116a47d45f0e" + integrity sha512-l6YVrI7+d2vpW6D6rS05x2Xrmq8oW7v3pieZOJKBEdjuTF4Kz/iwk55Zyh1Zaz+KOB2kC8+2jZlp2u9L4tTzCQ== + dependencies: + bn.js "^4.11.1" + safe-buffer "^5.1.1" + rollbar-sourcemap-webpack-plugin@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/rollbar-sourcemap-webpack-plugin/-/rollbar-sourcemap-webpack-plugin-2.4.0.tgz#0d864fe4d7a141a09fafd417415b704f95faddad" @@ -15351,6 +15969,11 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" +scrypt-async@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/scrypt-async/-/scrypt-async-1.3.1.tgz#a11fd6fac981b4b823ee01dee0221169500ddae9" + integrity sha1-oR/W+smBtLgj7gHe4CIRaVAN2uk= + scrypt-js@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" @@ -15400,6 +16023,11 @@ seedrandom@2.4.4: version "2.4.4" resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-2.4.4.tgz#b25ea98632c73e45f58b77cfaa931678df01f9ba" +seedrandom@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.1.tgz#eb3dde015bcf55df05a233514e5df44ef9dce083" + integrity sha512-1/02Y/rUeU1CJBAGLebiC5Lbo5FnB22gQbIFFYTLkwvp1xdABZJH1sn4ZT1MzXmPpzv+Rf/Lu2NcsLJiK4rcDg== + seek-bzip@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" @@ -15424,7 +16052,7 @@ semaphore-async-await@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz#857bef5e3644601ca4b9570b87e9df5ca12974fa" -semaphore@>=1.0.1, semaphore@^1.0.3: +semaphore@>=1.0.1, semaphore@^1.0.3, semaphore@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" @@ -15434,6 +16062,13 @@ semver-diff@^2.0.0, semver-diff@^2.1.0: dependencies: semver "^5.0.3" +semver-greatest-satisfied-range@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" + integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els= + dependencies: + sver-compat "^1.5.0" + semver-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" @@ -15911,6 +16546,14 @@ source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" +source-map-support@0.5.12: + version "0.5.12" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" + integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + source-map-support@0.5.6, source-map-support@^0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13" @@ -16087,7 +16730,7 @@ ssri@^6.0.0, ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" -stack-trace@0.0.x: +stack-trace@0.0.10, stack-trace@0.0.x: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" @@ -16150,6 +16793,11 @@ stream-each@^1.1.0: end-of-stream "^1.1.0" stream-shift "^1.0.0" +stream-exhaust@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" + integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== + stream-http@^2.7.2: version "2.8.1" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.1.tgz#d0441be1a457a73a733a8a7b53570bebd9ef66a4" @@ -16409,6 +17057,14 @@ supports-color@^5.5.0: dependencies: has-flag "^3.0.0" +sver-compat@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" + integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= + dependencies: + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + svg-react-loader@^0.4.6: version "0.4.6" resolved "https://registry.yarnpkg.com/svg-react-loader/-/svg-react-loader-0.4.6.tgz#b263efb3e3d2fff4c682a729351aba5f185051a1" @@ -16808,6 +17464,13 @@ tmp@0.0.33, tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" +tmp@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" + integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== + dependencies: + rimraf "^2.6.3" + tmpl@1.0.x: version "1.0.4" resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" @@ -17081,6 +17744,11 @@ tweetnacl-util@^0.15.0: resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.0.tgz#4576c1cee5e2d63d207fee52f1ba02819480bc75" integrity sha1-RXbBzuXi1j0gf+5S8boCgZSAvHU= +tweetnacl@0.13.2: + version "0.13.2" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.13.2.tgz#453161770469d45cd266c36404e2bc99a8fa9944" + integrity sha1-RTFhdwRp1FzSZsNkBOK8maj6mUQ= + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -17301,6 +17969,26 @@ underscore@~1.4.4: version "1.4.4" resolved "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604" +undertaker-registry@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" + integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= + +undertaker@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.1.tgz#701662ff8ce358715324dfd492a4f036055dfe4b" + integrity sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA== + dependencies: + arr-flatten "^1.0.1" + arr-map "^2.0.0" + bach "^1.0.0" + collection-map "^1.0.0" + es6-weak-map "^2.0.1" + last-run "^1.1.0" + object.defaults "^1.0.0" + object.reduce "^1.0.0" + undertaker-registry "^1.0.0" + unherit@^1.0.4: version "1.1.0" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.0.tgz#6b9aaedfbf73df1756ad9e316dd981885840cd7d" @@ -17428,6 +18116,11 @@ unorm@^1.3.3: version "1.4.1" resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.4.1.tgz#364200d5f13646ca8bcd44490271335614792300" +unorm@^1.4.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af" + integrity sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -17637,6 +18330,13 @@ v8flags@^2.0.2: dependencies: user-home "^1.1.1" +v8flags@^3.0.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" + integrity sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w== + dependencies: + homedir-polyfill "^1.0.1" + valid-url@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" @@ -17714,7 +18414,7 @@ vinyl-fs@^0.3.0: through2 "^0.6.1" vinyl "^0.4.0" -vinyl-fs@^3.0.2: +vinyl-fs@^3.0.0, vinyl-fs@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" dependencies: @@ -18049,6 +18749,32 @@ web3-provider-engine@14.1.0: xhr "^2.2.0" xtend "^4.0.1" +web3-provider-engine@14.2.0: + version "14.2.0" + resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-14.2.0.tgz#2efec157b2c429c5c674c079aea96b0a06de8b3d" + integrity sha512-sfLH5VhGjJrJJT5WcF8aGehcIKRUQ553q9tjQkkLaKU2AaLsRcwffnnWvrgeTkmKSf0y9dwkDTa48RVp+GUCSg== + dependencies: + async "^2.5.0" + backoff "^2.5.0" + clone "^2.0.0" + cross-fetch "^2.1.0" + eth-block-tracker "^3.0.0" + eth-json-rpc-infura "^3.1.0" + eth-sig-util "^1.4.2" + ethereumjs-block "^1.2.2" + ethereumjs-tx "^1.2.0" + ethereumjs-util "^5.1.5" + ethereumjs-vm "^2.3.4" + json-rpc-error "^2.0.0" + json-stable-stringify "^1.0.1" + promise-to-callback "^1.0.0" + readable-stream "^2.2.9" + request "^2.85.0" + semaphore "^1.0.3" + ws "^5.1.1" + xhr "^2.2.0" + xtend "^4.0.1" + web3-provider-engine@^13.3.2: version "13.8.0" resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-13.8.0.tgz#4c7c1ad2af5f1fe10343b8a65495879a2f9c00df" @@ -18135,6 +18861,17 @@ web3-utils@1.0.0-beta.35: underscore "1.8.3" utf8 "2.1.1" +web3@0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/web3/-/web3-0.20.2.tgz#c54dac5fc0e377399c04c1a6ecbb12e4513278d6" + integrity sha1-xU2sX8DjdzmcBMGm7LsS5FEyeNY= + dependencies: + bignumber.js "git+https://github.com/frozeman/bignumber.js-nolookahead.git" + crypto-js "^3.1.4" + utf8 "^2.1.1" + xhr2 "*" + xmlhttprequest "*" + web3@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3/-/web3-1.0.0-beta.35.tgz#6475095bd451a96e50a32b997ddee82279292f11" @@ -18318,6 +19055,17 @@ websocket@1.0.26: typedarray-to-buffer "^3.1.2" yaeti "^0.0.6" +websocket@1.0.29: + version "1.0.29" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.29.tgz#3f83e49d3279657c58b02a22d90749c806101b98" + integrity sha512-WhU8jKXC8sTh6ocLSqpZRlOKMNYGwUvjA5+XcIgIk/G3JCaDfkZUr0zA19sVSxJ0TEvm0i5IBzr54RZC4vzW7g== + dependencies: + debug "^2.2.0" + gulp "^4.0.2" + nan "^2.11.0" + typedarray-to-buffer "^3.1.5" + yaeti "^0.0.6" + websocket@^1.0.25, websocket@^1.0.26: version "1.0.28" resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.28.tgz#9e5f6fdc8a3fe01d4422647ef93abdd8d45a78d3" @@ -18746,6 +19494,13 @@ yargs-parser@^2.4.1: camelcase "^3.0.0" lodash.assign "^4.0.6" +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo= + dependencies: + camelcase "^3.0.0" + yargs-parser@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" @@ -18909,6 +19664,25 @@ yargs@^4.7.1: y18n "^3.2.1" yargs-parser "^2.4.1" +yargs@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.0" + yargs@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" From 281c2079218bd58a95d5f1797fc3c82deb0bcdcf Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 31 Jul 2019 14:14:47 -0700 Subject: [PATCH 076/162] Publish - @0x/contracts-asset-proxy@2.2.4 - @0x/contracts-coordinator@2.0.9 - @0x/contracts-dev-utils@0.0.6 - @0x/contracts-exchange-forwarder@3.0.8 - @0x/contracts-exchange@2.1.10 - @0x/contracts-extensions@4.0.4 - @0x/contracts-multisig@3.1.10 --- contracts/asset-proxy/package.json | 2 +- contracts/coordinator/package.json | 2 +- contracts/dev-utils/package.json | 2 +- contracts/exchange-forwarder/package.json | 2 +- contracts/exchange/package.json | 2 +- contracts/extensions/package.json | 2 +- contracts/multisig/package.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/contracts/asset-proxy/package.json b/contracts/asset-proxy/package.json index 57fdf88bcb..5024b49a00 100644 --- a/contracts/asset-proxy/package.json +++ b/contracts/asset-proxy/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-asset-proxy", - "version": "2.2.3", + "version": "2.2.4", "engines": { "node": ">=6.12" }, diff --git a/contracts/coordinator/package.json b/contracts/coordinator/package.json index 491cf26042..b66b281369 100644 --- a/contracts/coordinator/package.json +++ b/contracts/coordinator/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-coordinator", - "version": "2.0.8", + "version": "2.0.9", "engines": { "node": ">=6.12" }, diff --git a/contracts/dev-utils/package.json b/contracts/dev-utils/package.json index 29641377e9..3b2f398fe0 100644 --- a/contracts/dev-utils/package.json +++ b/contracts/dev-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-dev-utils", - "version": "0.0.5", + "version": "0.0.6", "engines": { "node": ">=6.12" }, diff --git a/contracts/exchange-forwarder/package.json b/contracts/exchange-forwarder/package.json index 135775eebe..8f4b2f7fff 100644 --- a/contracts/exchange-forwarder/package.json +++ b/contracts/exchange-forwarder/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange-forwarder", - "version": "3.0.7", + "version": "3.0.8", "engines": { "node": ">=6.12" }, diff --git a/contracts/exchange/package.json b/contracts/exchange/package.json index c43682235d..3300f13690 100644 --- a/contracts/exchange/package.json +++ b/contracts/exchange/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange", - "version": "2.1.9", + "version": "2.1.10", "engines": { "node": ">=6.12" }, diff --git a/contracts/extensions/package.json b/contracts/extensions/package.json index c92471d2fd..d8755d2000 100644 --- a/contracts/extensions/package.json +++ b/contracts/extensions/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-extensions", - "version": "4.0.3", + "version": "4.0.4", "engines": { "node": ">=6.12" }, diff --git a/contracts/multisig/package.json b/contracts/multisig/package.json index 75e2de1553..4545095b4d 100644 --- a/contracts/multisig/package.json +++ b/contracts/multisig/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-multisig", - "version": "3.1.9", + "version": "3.1.10", "engines": { "node": ">=6.12" }, From 73a38ab4f484896daa2277cf2b0426f4c6801006 Mon Sep 17 00:00:00 2001 From: fragosti Date: Wed, 31 Jul 2019 15:15:55 -0700 Subject: [PATCH 077/162] Add sandwich video to landing page --- packages/website/package.json | 11 +- packages/website/ts/components/button.tsx | 2 +- packages/website/ts/components/hero.tsx | 55 ++-- .../ts/components/modals/modal_video.tsx | 259 +++++++++++++++ .../ts/components/sections/landing/hero.tsx | 72 ++++- packages/website/ts/globals.d.ts | 1 + .../website/ts/icons/illustrations/play.svg | 3 + packages/website/ts/index.tsx | 1 + packages/website/webpack.config.js | 28 +- yarn.lock | 305 +++++++++++++++++- 10 files changed, 667 insertions(+), 70 deletions(-) create mode 100644 packages/website/ts/components/modals/modal_video.tsx create mode 100644 packages/website/ts/icons/illustrations/play.svg diff --git a/packages/website/package.json b/packages/website/package.json index 57ffc3cf48..44864af19d 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -46,7 +46,6 @@ "ethereumjs-util": "^5.1.1", "find-versions": "^2.0.0", "is-mobile": "^0.2.2", - "valid-url": "^1.0.9", "jsonschema": "^1.2.0", "less": "^2.7.2", "lodash": "^4.17.11", @@ -67,6 +66,7 @@ "react-lazyload": "^2.3.0", "react-loadable": "^5.5.0", "react-markdown": "^4.0.6", + "react-modal-video": "^1.2.2", "react-popper": "^1.0.0-beta.6", "react-redux": "^5.0.3", "react-responsive": "^6.0.1", @@ -75,15 +75,17 @@ "react-scrollable-anchor": "^0.6.1", "react-syntax-highlighter": "^10.1.1", "react-tooltip": "^3.2.7", + "react-transition-group": "^4.2.1", "react-typist": "^2.0.4", "redux": "^3.6.0", "redux-devtools-extension": "^2.13.2", "rollbar": "^2.4.7", - "semver-sort": "0.0.4", "semver": "5.5.0", + "semver-sort": "0.0.4", "styled-components": "^4.1.1", "thenby": "^1.2.3", "truffle-contract": "2.0.1", + "valid-url": "^1.0.9", "web3-provider-engine": "14.0.6", "xml-js": "^1.6.4" }, @@ -94,7 +96,6 @@ "@types/deep-equal": "^1.0.0", "@types/find-versions": "^2.0.0", "@types/is-mobile": "0.3.0", - "@types/valid-url": "^1.0.2", "@types/jsonschema": "^1.1.1", "@types/lodash": "4.14.104", "@types/material-ui": "^0.20.0", @@ -110,15 +111,19 @@ "@types/react-scroll": "1.5.3", "@types/react-syntax-highlighter": "^0.0.8", "@types/react-tap-event-plugin": "0.0.30", + "@types/react-transition-group": "^4.2.0", "@types/redux": "^3.6.0", + "@types/valid-url": "^1.0.2", "@types/web3-provider-engine": "^14.0.0", "awesome-typescript-loader": "^5.2.1", "css-loader": "0.23.x", "less-loader": "^4.1.0", "make-promises-safe": "^1.1.0", + "node-sass": "^4.12.0", "raw-loader": "^0.5.1", "react-svg-loader": "^2.1.0", "rollbar-sourcemap-webpack-plugin": "^2.4.0", + "sass-loader": "^7.1.0", "shx": "^0.2.2", "source-map-loader": "^0.2.4", "style-loader": "0.23.x", diff --git a/packages/website/ts/components/button.tsx b/packages/website/ts/components/button.tsx index 7f515cc38e..3ca578c300 100644 --- a/packages/website/ts/components/button.tsx +++ b/packages/website/ts/components/button.tsx @@ -108,7 +108,7 @@ const ButtonBase = styled.button` border-color: ${props => props.isTransparent && !props.isNoBorder && !props.isWithArrow && '#00AE99'}; svg { - transform: translate3d(2px, -2px, 0); + transform: ${props => (props.isWithArrow ? 'translate3d(2px, -2px, 0)' : '')}; } } `; diff --git a/packages/website/ts/components/hero.tsx b/packages/website/ts/components/hero.tsx index 14d78df997..8e8c0d8ca0 100644 --- a/packages/website/ts/components/hero.tsx +++ b/packages/website/ts/components/hero.tsx @@ -117,7 +117,7 @@ const ButtonWrap = styled.div` flex-direction: column; justify-content: center; - * { + > * { padding-left: 20px; padding-right: 20px; } @@ -138,26 +138,39 @@ const BackgroundWrap = styled.div` top: 0; `; -export const Hero: React.StatelessComponent = (props: Props) => ( -
- {!!props.background && {props.background}} - - {props.figure && {props.figure}} +export class Hero extends React.Component { + public static defaultProps = { + isCenteredMobile: true, + }; + public shouldComponentUpdate(): boolean { + // The hero is a static component with animations. + // We do not want state changes in parent components to re-trigger animations. + return false; + } + public render(): React.ReactNode { + const props = this.props; + return ( +
+ {!!props.background && {props.background}} + + {props.figure && {props.figure}} - - {!!props.announcement && } - - {props.title} - + + {!!props.announcement && } + + {props.title} + - {props.description} + {props.description} - {props.actions && {props.actions}} - - -
-); - -Hero.defaultProps = { - isCenteredMobile: true, -}; + {props.actions && {props.actions}} + +
+
+ ); + } +} diff --git a/packages/website/ts/components/modals/modal_video.tsx b/packages/website/ts/components/modals/modal_video.tsx new file mode 100644 index 0000000000..ba3b4f5710 --- /dev/null +++ b/packages/website/ts/components/modals/modal_video.tsx @@ -0,0 +1,259 @@ +import React from 'react'; +import CSSTransition from 'react-transition-group/CSSTransition'; + +interface ModalVideoClassnames { + modalVideoEffect: string; + modalVideo: string; + modalVideoClose: string; + modalVideoBody: string; + modalVideoInner: string; + modalVideoIframeWrap: string; + modalVideoCloseBtn: string; +} + +interface Aria { + openMessage: string; + dismissBtnMessage: string; +} + +export interface ModalVideoProps { + onClose?: () => void; + isOpen: boolean; + classNames?: ModalVideoClassnames; + ratio?: string; + animationSpeed?: number; + allowFullScreen?: boolean; + aria?: Aria; + videoId?: string; + channel?: string; + youtube?: any; + vimeo?: any; + youku?: any; +} + +export interface ModalVideoState { + isOpen: boolean; +} + +export class ModalVideo extends React.Component { + public static defaultProps: ModalVideoProps = { + channel: 'youtube', + isOpen: false, + youtube: { + autoplay: 1, + cc_load_policy: 1, + color: null, + controls: 1, + disablekb: 0, + enablejsapi: 0, + end: null, + fs: 1, + h1: null, + iv_load_policy: 1, + list: null, + listType: null, + loop: 0, + modestbranding: null, + origin: null, + playlist: null, + playsinline: null, + rel: 0, + showinfo: 1, + start: 0, + wmode: 'transparent', + theme: 'dark', + }, + ratio: '16:9', + vimeo: { + api: false, + autopause: true, + autoplay: true, + byline: true, + callback: null, + color: null, + height: null, + loop: false, + maxheight: null, + maxwidth: null, + player_id: null, + portrait: true, + title: true, + width: null, + xhtml: false, + }, + youku: { + autoplay: 1, + show_related: 0, + }, + allowFullScreen: true, + animationSpeed: 300, + classNames: { + modalVideoEffect: 'modal-video-effect', + modalVideo: 'modal-video', + modalVideoClose: 'modal-video-close', + modalVideoBody: 'modal-video-body', + modalVideoInner: 'modal-video-inner', + modalVideoIframeWrap: 'modal-video-movie-wrap', + modalVideoCloseBtn: 'modal-video-close-btn', + }, + aria: { + openMessage: 'You just openned the modal video', + dismissBtnMessage: 'Close the modal by clicking here', + }, + }; + public modal: any; + public modalbtn: any; + constructor(props: ModalVideoProps) { + super(props); + this.state = { + isOpen: false, + }; + this.closeModal = this.closeModal.bind(this); + this.updateFocus = this.updateFocus.bind(this); + } + + public openModal(): void { + this.setState({ isOpen: true }); + } + + public closeModal(): void { + this.setState({ isOpen: false }); + if (typeof this.props.onClose === 'function') { + this.props.onClose(); + } + } + + public keydownHandler(e: any): void { + if (e.keyCode === 27) { + this.closeModal(); + } + } + + public componentDidMount(): void { + document.addEventListener('keydown', this.keydownHandler.bind(this)); + } + + public componentWillUnmount(): void { + document.removeEventListener('keydown', this.keydownHandler.bind(this)); + } + + public componentWillReceiveProps(nextProps: ModalVideoProps): void { + this.setState({ isOpen: nextProps.isOpen }); + } + + public componentDidUpdate(): void { + if (this.state.isOpen && this.modal) { + this.modal.focus(); + } + } + + public updateFocus(e: any): void { + if (e.keyCode === 9) { + e.preventDefault(); + e.stopPropagation(); + if (this.modal === document.activeElement) { + this.modalbtn.focus(); + } else { + this.modal.focus(); + } + } + } + + public getQueryString(obj: any): string { + let url = ''; + for (const key of Object.keys(obj)) { + if (obj.hasOwnProperty(key)) { + if (obj[key] !== null) { + url += `${key}=${obj[key]}&`; + } + } + } + return url.substr(0, url.length - 1); + } + + public getYoutubeUrl(youtube: any, videoId: string): string { + const query = this.getQueryString(youtube); + return `//www.youtube.com/embed/${videoId}?${query}`; + } + + public getVimeoUrl(vimeo: any, videoId: string): string { + const query = this.getQueryString(vimeo); + return `//play.vimeo.com/video/${videoId}?${query}`; + } + + public getYoukuUrl(youku: any, videoId: string): string { + const query = this.getQueryString(youku); + return `//player.youku.com/embed/${videoId}?${query}`; + } + + public getVideoUrl(opt: any, videoId: string): string { + if (opt.channel === 'youtube') { + return this.getYoutubeUrl(opt.youtube, videoId); + } else if (opt.channel === 'vimeo') { + return this.getVimeoUrl(opt.vimeo, videoId); + } else if (opt.channel === 'youku') { + return this.getYoukuUrl(opt.youku, videoId); + } + return ''; + } + + public getPadding(ratio: string): string { + const arr = ratio.split(':'); + const width = Number(arr[0]); + const height = Number(arr[1]); + const padding = (height * 100) / width; + return `${padding}%`; + } + + public render(): React.ReactNode { + const style = { + paddingBottom: this.getPadding(this.props.ratio), + }; + return ( + + {() => { + if (!this.state.isOpen) { + return null; + } + return ( +
{ + this.modal = node; + }} + onKeyDown={this.updateFocus} + > +
+
+
+